首页 / 更多教程 / struts2中拦截器的简单实现流程
struts2中拦截器的简单实现流程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了struts2中拦截器的简单实现流程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3731字,纯文字阅读大概需要6分钟。
内容图文
![struts2中拦截器的简单实现流程](/upload/InfoBanner/zyjiaocheng/1067/ccfa95035e964bf3920f011160be9c23.jpg)
struts.xml文件的设置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <!-- 配置常量使用国际化设置 --> <constant name="struts.custom.i18n.resources" value="mess" /> <!-- 设置该应用使用的解码集 --> <constant name="struts.i18n.encoding" value="UTF-8" /> <package name="front" namespace="/" extends="struts-default"> <interceptors> <!-- 配置拦截器,指向自定义的拦截器类interceptor.ActionInterceptorAbstract --> <interceptor name="ActionInterceptorAbstract" class="interceptor.ActionInterceptorAbstract"> <!-- 默认的区分的属性赋值 --> <param name="name">计时拦截器</param> </interceptor> </interceptors> <!-- 配置hello.action指向的action类action.HelloWord --> <action name="hello" class="action.HelloWordAction"> <!-- 配置在执行到result之前要执行的拦截器 --> <!-- 通过 name="ActionInterceptorAbstract"进行匹配 --> <interceptor-ref name="ActionInterceptorAbstract"> <!-- 为拦截器中的身份标识进行赋值 --> <param name="name">hello计时</param> </interceptor-ref> <!-- 执行完毕拦截器后根据拦截器返回的结果选择执行result --> <result>/index.jsp</result> </action> </package> </struts>
自定义拦截器的配置
package interceptor; import java.util.Date; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; //继承抽象的拦截器类 public class ActionInterceptorAbstract extends AbstractInterceptor { /** * */ private static final long serialVersionUID = 1L; // 定义身份区分标识,接收struts.xml中<param name="name">XXX</param>标签体的内容 private String name; // 接收配置文件传入的数据 public void setName(String name) { this.name = name; } @Override public String intercept(ActionInvocation invocation) throws Exception { // 记录执行action中excute方法前的时间 long start = System.currentTimeMillis(); System.out.println(name + "调用前:" + new Date()); // 调用excute方法 // 并接受excute返回的结果 String actionResult = invocation.invoke(); // 记录执行action中excute方法后的时间 long end = System.currentTimeMillis(); System.out.println(name + "调用后:" + new Date()); System.out.println(name + "执行用时:" + (end - start)); // 将excute执行结果返回给配置文件的result return actionResult; } }
action的配置
package action; import com.opensymphony.xwork2.ActionSupport; public class HelloWordAction extends ActionSupport { //定义一个字符串用例验证 private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @Override public String execute() throws Exception { //赋值操作 message = "Helloworld"; System.out.println(message); return SUCCESS; } }
index.jsp页面显示的配置
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP ‘index.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <!-- 从域中取出message --> ${message} </body> </html>
原文:http://blog.csdn.net/dong_martin/article/details/20285739
内容总结
以上是互联网集市为您收集整理的struts2中拦截器的简单实现流程全部内容,希望文章能够帮你解决struts2中拦截器的简单实现流程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。