我想在CheckForLogin Servlet中创建会话并在所有JSP页面中使用它(用于检查)。 应该在我的JSP页面中编写什么,而不是在Sevlet中编写..........如何在Servlet中定义Session?
public void service(ServletRequest request,
ServletResponse response) throws ServletException, IOException {
String email = request.getParameter("email");
String password = request.getParameter("password");
if (email.equals("") || password.equals("") || email == null || password == null) {
request.getRequestDispatcher("Error.jsp?err=enterdata").forward(request,response);
} else {
UserBl userBl = new UserBl();
if (userBl.checkUser(email, password)) {
..........................
request.getRequestDispatcher("Home.jsp").forward(request, response);
} else {
request.getRequestDispatcher("Error.jsp?err=nulluser").forward(request, response);
}
}
}
答案 0 :(得分:1)
我应该在方法参数中编写HttpServletRequest而不是ServletRequest和HttpServletResponse而不是ServletResponse,然后创建会话并访问会话
答案 1 :(得分:0)
session
是jsp隐式变量,使用它可以在JSP页面中获取会话。
示例:
<%
String temp=session.getAttribute( "tvName");
%>
或使用EL
<c:out value="${session.getAttribute("name")}"/>
注意:在JSP页面中使用scriptlet不是一种好习惯。
答案 2 :(得分:0)
实际上,您可以使用<%= request.getSession() %>
作为示例。
答案 3 :(得分:0)
在JSP代码中使用表达式语言中的${sessionScope.sessionAttributeName}
。
答案 4 :(得分:0)
我建议您使用include
代替forward
答案 5 :(得分:0)
你应该使用这一行
Session httpsession = request.getSession();
此行将为您创建一个新的会话对象(如果不存在),或者它将返回与同一客户端关联的现有会话。
答案 6 :(得分:0)
获取现有会话
HttpSession session=request.getSession(false);