获取Action传来的session和清空session是JSP页面常用的操作之一。本文将介绍如何在JSP页面中获取Action传递过来的session和如何清空session,同时提供代码示例进行说明。
获取Action传来的session和清空session是JSP页面常用的操作之一。本文将介绍如何在JSP页面中获取Action传递过来的session和如何清空session,同时提供代码示例进行说明。
获取Action传来的session
获取Action传递过来的session需要使用jsp:useBean标签和sessionScope对象。jsp:useBean标签可用于在页面中创建并访问JavaBean对象,而sessionScope对象用于在JSP页面中访问session中存储的JavaBean对象。
示例1:获取Action传来的session并输出session中存储的值
<%-- 获取Action传来的session --%>
<jsp:useBean id="user" class="com.example.User" scope="session" />
<%-- 输出session中存储的值 --%>
<p>用户名:<%= user.getUsername() %></p>
<p>密码:<%= user.getPassword() %></p>
在上面的示例中,首先使用jsp:useBean标签创建一个id为"user"、class为"com.example.User"、作用范围为session的JavaBean对象。接着就可以通过JavaBean对象的方法获取session中存储的值,例如user.getUsername()和user.getPassword()分别获取用户名和密码。
示例2:获取Action传来的session并判断是否为空
<%-- 获取Action传来的session --%>
<jsp:useBean id="user" class="com.example.User" scope="session" />
<%-- 判断session是否为空 --%>
<% if (user == null) { %>
<p>没有登录</p>
<% } else { %>
<p>欢迎您,<%= user.getUsername() %>!</p>
<% } %>
在上面的示例中,同样是通过jsp:useBean标签获取Action传递过来的session,接着通过if语句判断session是否为空。如果为空,则输出"没有登录";否则输出"欢迎您,{用户名}!"。
清空session
清空session需要使用session.invalidate()方法,该方法将session对象的所有属性失效,并删除该session对象。需要注意的是,invalidate()方法只能在服务器端使用,因此需要在Action中调用该方法。
示例3:清空session并跳转到登录页面
public class LogoutAction extends ActionSupport {
public String execute() {
// 从session中移除用户信息
ActionContext.getContext().getSession().remove("user");
// 清空session
ActionContext.getContext().getSession().invalidate();
// 跳转到登录页面
return "login";
}
}
在上面的示例中,首先通过ActionContext获取session对象,然后使用remove()方法从session中移除用户信息。接着调用invalidate()方法清空session,并通过返回值"login"跳转到登录页面。
示例4:在JSP页面中清空session并跳转到登录页面
<%-- 清空session并跳转到登录页面 --%>
<%
session.invalidate();
response.sendRedirect("login.jsp");
%>
在上面的示例中,直接在JSP页面中调用session.invalidate()方法清空session,然后通过response.sendRedirect()方法跳转到登录页面。需要注意的是,该方式不推荐使用,应该将session的清空操作放在服务器端进行处理。
本文标题为:jsp获取action传来的session和session清空以及判断


基础教程推荐
- 深入了解Java包与访问控制权限 2023-05-24
- Java重点梳理类与对象核心原理 2023-03-10
- Springboot下RedisTemplate的两种序列化方式实例详解 2023-05-24
- freemarker jsp java内存方式实现分页示例 2023-12-22
- SpringMVC自定义属性编辑器详解及实例 2023-07-31
- JSP的include指令的使用方法 2023-07-31
- 基于Zookeeper实现分布式锁详解 2023-08-10
- 响应消息:java.sql.SQLException:无法转换为内部表示:jmeter 2023-10-31
- 拦截Druid数据源自动注入帐密解密实现详解 2023-07-01
- SpringCloud-Spring Boot Starter使用测试及问题小结 2023-02-10