如何在java中设置session属性?

我可以在scriptlet中设置session属性,但是当我尝试在java类中设置session属性时,它会显示类似“session无法解析”的错误。 那么如何在java中设置会话?

 

通过Java类,我假设你的意思是一个Servlet类,因为在任意Java类中设置会话属性是没有意义的。你可以在你的servlet的doGet / doPost方法中做这样的事情

 public void doGet(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); String username = (String)request.getAttribute("un"); session.setAttribute("UserName", username); } 

默认情况下,会话对象在jsp页面上可用(隐式对象)。 它在普通的POJO java类中不可用。 您可以使用HttpServletRequest在Servelt上获取HttpSession对象的引用

 HttpSession s=request.getSession() s.setAttribute("name","value"); 

您可以按如下方式在基于ActionSupport的Action POJO类上进行会话

  ActionContext ctx= ActionContext.getContext(); Map m=ctx.getSession(); m.put("name", value); 

看看: http : //ohmjavaclasses.blogspot.com/2011/12/access-session-in-action-class-struts2.html

尝试这个。

 <%@page language="java" session="true" %> 

我试着抓住你的观点。我希望它有用…..

 if (session.isNew()){ title = "Welcome to my website"; session.setAttribute(userIDKey, userID); 

Java文件:Jclass.java

 package Jclasspackage public class Jclass { public String uname ; /** * @return the uname */ public String getUname() { return uname; } /** * @param uname the uname to set */ public void setUname(String uname) { this.uname = uname; } public Jclass() { this.uname = null; } public static void main(String[] args) { } } 

JSP文件:sample.jsp

  <%@ page language="java" import="java.util.*,java.io.*" pageEncoding="ISO-8859-1"%>  <% Jclass jc = new Jclass(); String username = (String)request.getAttribute("un") jc.setUname(username); %> 

—————–

通过这种方式,您可以使用类中的“this.username”访问java文件中的用户名