struts2中的拦截器
来源:互联网 发布:功夫英语 知乎 编辑:程序博客网 时间:2024/05/01 07:41
今天写了个用户登录的拦截器,就是对于只有登录之后才能访问的界面,若用户没登录则不能访问,只能转到登陆界面进行登录,有几点理解与迷惑之处,写下来让大家点评一下下:
1.如果用户在登录界面请求登录:login,则返回returninvocation.invoke();表示继续执行配置文件中这个拦截器下边的内容,在执行invocation.invoke()时,本拦截器下面的内容都会执行,知道最后执行action,action会返回一个result,这个result就等于return invocation.invoke()的值。1->2-action->2->1
2.如果用户进行非法访问,则return "login";这个login也是一个result,在配置文件的action里有很多的result,<resultname="login">/success.jsp</result>。
3.
// Map session = (Map)ac.get(ServletActionContext.SESSION);
Map session=ActionContext.getContext().getSession();//
这两句有什么不同呢?一般是怎么使用?
看代码:
if (name.equals("login")) { // 如果用户想登录,则使之通过,会执行配置文件里拦截器后面的内容 return invocation.invoke(); } else { // 取得Session。 ActionContext ac = invocation.getInvocationContext(); // Map session = (Map)ac.get(ServletActionContext.SESSION); Map session=ActionContext.getContext().getSession();// if (session == null) { // 如果Session为空,则让用户登陆。 return "login"; } else { User user = (User) session.get("user"); if (user == null) { // Session不为空,但Session中没有用户信息, // 则让用户登陆 System.out.println("请求了,但是用户没登陆"); return "login"; } else { // 用户已经登陆,放行~ System.out.println("放行了"); String result=invocation.invoke(); return result; } } }
0 0
- struts2中的拦截器
- Struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- Struts2中的拦截器
- struts2中的拦截器
- Struts2中的拦截器
- Struts2中的拦截器
- struts2中的拦截器
- Struts2中的拦截器
- Struts2中的拦截器
- 关于struts2中的拦截器
- android不支持的c库与改进方法
- 微信营销如何提升转化率与购买率
- guava(4)函数式编程
- Linux shell 变量 数学 运算
- 【Cocoa and Object-c : Up and Running 笔记】05 Object-C 高级语法
- struts2中的拦截器
- linux下卸载mysql
- 数据挖掘中的分类和聚类的区别
- DeCAF: A deep convolutional activation feature for generic visual recognition
- 程序猿必须知道的算法(第一弹)回溯法
- IOS系统架构
- Aspose.Word控件实现Word文档的操作(创建和合并单元格)
- 连接到 Flash 调试器
- Android Framework 分析---3PackageManager 分析