java 判断session是否为空_判断用户登录的session是否存在.doc

步骤:

1、创建拦截器业务类,继承AbstractInterceptor类。重写intercept方法,把业务逻辑写在该方法中。

2、在struts.xml中注册拦截器。

不过,初步了解,拦截器只对action起作用,在地址栏中直接输入的url,拦截器没有起作用。

所以仅仅这样的话,并没有很完善的对页面的权限控制起作用。

应该过滤器可以弥补这一缺陷。

后期继续研究一下。

public class CheckLoginInterceptor extends AbstractInterceptor {

public static final String LOGIN_KEY = "userName";

public static final String LOGIN_PAGE = "login";

@Override public String intercept(ActionInvocation actionInvocation) throws Exception {

System.out.println("begin check login interceptor!");

Object action = actionInvocation.getAction();

// 对LoginAction不做该项拦截 if (action instanceof LoginAction) { System.out.println("exit check login, because this is login action.");

return actionInvocation.invoke(); }

// 确认Session中是否存在LOGIN

Map session = actionInvocation.getInvocationContext().getSession();

String login = (String) session.get(LOGIN_KEY); System.out.println("Session Username: " +login);

if (login != null && login.length() > 0) {

// 存在的情况下进行后续操作。

System.out.println("already login!");

return actionInvocation.invoke();

} else {

// 否则终止后续操作,返回LOGIN

System.out.println("no login, forward login page!");

return LOGIN_PAGE; } }}

配置:

//指定拦截器的类 //设置默认的拦截器 /default.jsp/login.jsp

用于判断用户是否登录

1.过滤器主要用于,判断用户是否登陆,以防止接访问应用中的网页进行提交。Java code:

package filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.Servle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值