Struts拦截器的第一个案例
2016-11-22 11:51
453 查看
初略计算Action的执行时间
一、创建Web项目
二、导入jar包
具体配置可以参考博客三、创建struts.xml文件
四、配置struts(在web.xml中配置过滤器)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>struts-Interceptor</display-name> <filter> <filter-name>mystruts</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>mystruts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
五、建立主页(index.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="intercepteAction">Action开始执行</a> </body> </html>
六、创建Action
(1)创建Action类
import com.opensymphony.xwork2.ActionSupport; public class IntercepteAction extends ActionSupport { @Override public String execute() throws Exception { for(int i=0;i<10000;i++){ System.out.println("Hello World"); } return SUCCESS; } }
(2)注册Action
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="default" namespace="/" extends="struts-default"> <!-- 注册Action--> <action name="intercepteAction" class="IntercepteAction"> <result>/success.jsp</result> </action> </package> </struts>
七、创建success.jsp页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> success! </body> </html>
八、拦截器
(1)创建拦截器(继承 AbstractInterceptor类 或者 实现 Interceptor接口)
import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class TimerInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { //1.Action开始前 long start=System.currentTimeMillis();//获取当前的毫秒值 //2.执行下一个拦截器,若为最后一个拦截器,则执对应的Action String result=invocation.invoke();//返回结果视图 //3.Action结束 long end=System.currentTimeMillis();//获取当前的毫秒值 //4.计算Action执行时间 System.out.println("Action执行所用的时间为:"+(end-start)); //5.返回结果 return result; } }
(2)注册拦截器
(3)调用拦截器
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="default" namespace="/" extends="struts-default"> <!-- 注册拦截器 --> <interceptors> <interceptor name="timer" class="TimerInterceptor"></interceptor> </interceptors> <!-- 注册Action--> <action name="intercepteAction" class="IntercepteAction"> <!-- 调用拦截器 --> <interceptor-ref name="timer"></interceptor-ref> <result>/success.jsp</result> </action> </package> </struts
相关文章推荐
- struts入门第一个案例
- 第一个struts1案例分析
- struts1.x心得2--第一个struts案例分析
- struts1.x心得2--第一个struts案例分析
- struts2.X心得9--struts2自定义拦截器以及文件上传等几个拦截器使用案例
- struts2.X心得2--第一个struts2案例分析以及整合c3p0连接数据库案例分析
- struts2.X心得9--struts2自定义拦截器以及文件上传等几个拦截器使用案例
- 【Struts2四】利用拦截器对登陆进行拦截的小案例
- struts登录案例和自定义拦截器
- struts2.X心得2--第一个struts2案例分析以及整合c3p0连接数据库案例分析
- struts2入门-第一个例子==》第一个struts2实例——HelloWorld==》Struts2.0搭建和简单实例==>写一个Steuts2的经典入门案例,做了一个登陆程序作为入门例子
- 第一个struts案例
- 第一个struts案例及分析
- SSH框架之Struts的拦截器案例——登陆
- Struts学习之result的type属性详解+案例
- struts拦截器详解
- Struts第二天总结案例
- Struts2的第一个案例
- Struts 传智Struts2笔记(二)第一个Struts2应用--HelloWorld
- struts2.0上传拦截器不起作用