struts2中拦截器的使用

  • R2_570219
    了解作者
  • 3.1MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-08 05:50
    上传日期
Struts2在com.opensymphony.xwork2.interceptor.annotations包中定义了3个拦截器注解类型。
Struts2_Interceptor.rar
内容介绍
package com.struts2.interceptor; import java.util.Map; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; import com.struts2.model.User; public class SimpleInterceptor extends AbstractInterceptor { //定义拦截器名称 private String name; public void setName(String name) { this.name = name; } public String intercept(ActionInvocation invocation)throws Exception { /*//获取HttpServletRequest对象 HttpServletRequest request=ServletActionContext.getRequest(); //获取被拦截的Action实例 LoginAction action = (LoginAction)invocation.getAction(); System.out.println("-----------SimpleInterceptor拦截器-----------"); System.out.println(name+"拦截器的动作:开始执行登录Action的时间为:"+new Date()); //把得到的username赋给LoginAction中的username属性 action.setUsername(request.getParameter("username")); action.setPass(request.getParameter("pass")); //判断用户是否是合法用户 if(!action.getUsername().equals("admin")||!action.getPass().equals("admin")) { System.out.println("user name error"); return "input"; } //获取开始时间 long start = System.currentTimeMillis(); String result = invocation.invoke(); System.out.println(name+"拦截器的动作:执行完登录Action的时间为:" + new Date()); //获取结束时间 long end = System.currentTimeMillis(); System.out.println("拦截器的动作:执行action事件的时间是:"+(end-start)+"毫秒"); System.out.println("---------结束-----------"); return result;*/ //实现权限控制拦截器开始 //取得请求相关的ActionContext实例 ActionContext context=invocation.getInvocationContext(); Map session=context.getSession(); //取出名为user的Session属性 User user=(User)session.get("user"); //如果没有登录,或者登录所用的用户名或者密码不是admin,都返回重新登录 if(user!=null&&user.getUsername().equals("admin")&&user.getPass().equals("admin")){ return invocation.invoke(); } //没有登录,将服务器提示设置成一个HttpServletRequest属性 //直接返回error的逻辑视图 return Action.ERROR; } }
评论
    相关推荐
    • Struts
      Struts简易教程
    • struts
      Apache Struts项目提供了Apache Struts 2 Web框架,该框架是用于创建基于Web的Java应用程序的全面的模块化工具堆栈。 来自WebWork 2框架的Struts 2,对于重视解决难题的优雅解决方案的团队来说,是一个绝佳的选择。...
    • struts
      struts源代码与例子
    • struts 2.0
      strus 2.0:融struts与webwork于一体,相比struts 1.0有了更人性化的改进,其中webwork的集成,更是对struts自身不足的极大补充,让我们一起学习。
    • 框架struts
      如何搭建一个struts框架,包括2个例子(struts2.1之前和struts2.1之后所需的jar不同,文档有详解),注意点等
    • struts配置
      truts2.5之前的版本有点不同,还需要xwork-core.jar,不需要log4j-api-2.7.jar。原因是struts2.5把xwork的源码 合并到了struts-core中。struts2.5之前使用logging API,而struts2.5用log4j 2 API取代。
    • struts
      Apache Struts项目提供了Apache Struts 2 Web框架,该框架是用于创建基于Web的Java应用程序的全面的模块化工具堆栈。 来自WebWork 2框架的Struts 2,对于重视解决难题的优雅解决方案的团队来说,是一个绝佳的选择。...
    • struts
      Apache Struts项目提供了Apache Struts 2 Web框架,该框架是用于创建基于Web的Java应用程序的全面的模块化工具堆栈。 来自WebWork 2框架的Struts 2,对于重视解决难题的优雅解决方案的团队来说,是一个绝佳的选择。...
    • struts2.1.8
      Struts 2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...
    • struts2.1.6
      struts2改善和完善了struts1中的一些缺陷,struts1中一些悬而未决问题在struts2得到了解决,在struts2中直接使用action的属性来封装请求参数,可以指定只对某个方法进行校验,当一个Action继承了ActionSupport且在这...