本文主要是介绍Struts中的拦截器——登录验证实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前段时间在学习SSH网上商城的时候在接近尾声的地方视频中对登录的验证使用了拦截器,看视频中的实现并没有特别的复杂感觉拦截器很好用,现在跟着10期的师哥们做项目对登录的验证也使用了拦截器,所以就进行了如下简单的学习了解,从它是什么开始学习。
拦截器
拦截器原理
具体使用的过程
在这里我们继承了Struts提供的抽象类MethodFilterInterceptor,重写方法在其中写入我们自己要执行的逻辑如下
<span style="font-size:18px;">public class PrivilegeInterceptor extends MethodFilterInterceptor{
@Override
//执行拦截的方法
protected String doIntercept(ActionInvocation actionInvocation) throws Exception {
// 首先要从session中拿用户的信息
AdminUser existAdminUser=(AdminUser)ServletActionContext.getRequest().getSession().getAttribute("existAdminUser");
//判断是否拿到了信息if(existAdminUser==null){//没有登录ActionSupport actionSupport=(ActionSupport) actionInvocation.getAction();//获得正在执行的actionactionSupport.addActionError("亲,您还没有登录!没有权限访问!");return "loginFail";}else {//登录了return actionInvocation.invoke();//直接放行}}
}</span>
程序启动后读取配置文件然后实例化相应的拦截器类PrivilegeInterceptor。
3、在Action处进行配置
再要执行拦截的action后进行配置就可以使用了。
小结
目前对拦截器的学习知识停留在使用的层面上而对器原理的理解也只是在程序的配置文件中,使用的感觉比较简单。自己在查阅相关的资料时了解到拦截器不仅仅是这样简单的分类和使用的方法,它有很多的类型功能也不相同。也有用它和过滤器进行比较的,有个简单的了有待深入。
这篇关于Struts中的拦截器——登录验证实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!