Как установить атрибут session в java?
Я могу установить атрибут session в scriptlet, но когда я пытаюсь установить атрибут session внутри класса java, он показывает ошибку, например, "сеанс не может быть разрешен".
Итак, как установить сеанс в java?
<%String username = (String)request.getAttribute("un");
session.setAttribute("UserName", username);%>
Ответы
Ответ 1
По Java-классу я предполагаю, что вы имеете в виду класс Servlet, поскольку параметр атрибута сеанса в произвольном Java-классе не имеет смысла. Вы можете сделать что-то подобное в своих методах doGet/doPost в сервлете
public void doGet(HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
String username = (String)request.getAttribute("un");
session.setAttribute("UserName", username);
}
Ответ 2
По умолчанию объект сеанса доступен на странице jsp (неявный объект). Он не будет доступен в обычном классе Java POJO.
Вы можете получить ссылку на объект HttpSession на Servelt, используя HttpServletRequest
HttpSession s=request.getSession()
s.setAttribute("name","value");
Вы можете получить сеанс в Action POJO на основе ActionSupport следующим образом
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
Ответ 3
Попробуйте это.
<%@page language="java" session="true" %>
Ответ 4
Я пытаюсь поймать вашу точку. Надеюсь, это полезно.....
if (session.isNew()){
title = "Welcome to my website";
session.setAttribute(userIDKey, userID);
Ответ 5
Файл 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"%>
<jsp:directive.page import="Jclasspackage.Jclass.java" />
<% Jclass jc = new Jclass();
String username = (String)request.getAttribute("un")
jc.setUname(username);
%>
-----------------
Таким образом, вы можете получить доступ к имени пользователя в java файле, используя
"this.username" в классе