struts2拦截器の简单实现(日语系统,请忽略乱码,重在实现)
1.创建类实现interceptor接口或者继承abstractinter~~~类
package com.mi.intercepter; import java.util.Date; import com.mi.action.LoginAction;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor; public class Intercep implements Interceptor{ private static final long serialVersionUID = 1L; private String name;
@Override
public void destroy() {
System.out.println("destroy is run************");
} @Override
public void init() {
System.out.println("init is run************");
} @Override
public String intercept(ActionInvocation invocation) throws Exception {
LoginAction loginAction = (LoginAction) invocation.getAction(); System.out.println(getName()+"the***starttime is*** "+new Date());
long start = System.currentTimeMillis();
String result = invocation.invoke(); System.out.println("the endtime*** "+new Date());
long end = System.currentTimeMillis(); System.out.println(getName()+"the costtime is *** "+(end-start)+"毫秒");
System.out.println("result s result*** "+result);
return result;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}
2.在struts.xml文件中配置已经创建的拦截器,并且配置要拦截诶的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>
<constant name="struts.i18n.encoding" value="utf-8" /> <package name="lee" extends="struts-default"> <interceptors>
<interceptor name="simple" class="com.mi.intercepter.Intercep">
<param name="name">简单拦截器</param>
</interceptor>
</interceptors> <!-- 用户注册的Action -->
<action name="regist" class="com.mi.action.RegistAction">
<!-- 类型转换失败、输入校验失败,转入input对应的视图 -->
<result name="input">/content/registForm.jsp</result>
<result>/content/show.jsp</result>
</action> <action name="login" class="com.mi.action.LoginAction">
<result name="error">/content/error.jsp</result>
<result name="success">/content/welcome.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="simple">
<param name="name">改名后的拦截器</param>
</interceptor-ref>
</action>
<action name="*">
<result>/content/{1}.jsp</result>
</action> </package>
</struts>
3.我的loginAction
package com.mi.action; import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String username;
private String password; // usernameオトsetterコヘgetterキスキィ
public void setUsername(String username) {
this.username = username;
} public String getUsername() {
return username;
} // passwordオトsetterコヘgetterキスキィ
public void setPassword(String password) {
this.password = password;
} public String getPassword() {
return password;
} public String execute() throws Exception {
System.out.println("ス�executeキスキィヨエミミフ�..........");
Thread.sleep(1500);
if (getUsername().equals("tangxiujuan") && getPassword().equals("tangxiujuan")) {
return SUCCESS;
}
return ERROR;
}
}
4.此时控制台会打印出如下内容,请忽略乱码!!!重点在于拦截器!

struts2拦截器の简单实现(日语系统,请忽略乱码,重在实现)的更多相关文章
- 防止未登录用户操作—struts2拦截器简单实现(转)
原文地址:http://blog.csdn.net/zhutulang/article/details/38351629 尊重原创,请访问原地址 一般,我们的web应用都是只有在用户登录之后才允许操作 ...
- struts2拦截器-简单实现非法登录验证
概念:什么是拦截器 拦截器实现了面向切面的组件,它会影响多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现高度内聚,确保业务对象的整洁! 为什么使用拦截器 拦截器消除了动作 ...
- 从struts2拦截器到自定义拦截器
拦截器可谓struts2的核心了,最基本的bean的注入就是通过默认的拦截器实现的,一般在struts2.xml的配置中,package内直接或间接继承了struts-default.xml,这样st ...
- struts2动态调用+Servlet过滤器+struts2拦截器
周末真的是懒到心慌...... 本文是在完整s2sh项目基础上添加的,不太了解s2sh项目构建的朋友可以先参考一下这几篇文章: eclipse环境下基于tomcat-7.0.82构建struts2项目 ...
- 浅谈Struts2拦截器的原理与实现
拦截器与过滤器 拦截器是对调用的Action起作用,它提供了一种机制可以使开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行.同时也是提供了 ...
- 基于SSH2框架Struts2拦截器的登录验证实现(转)
大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了.那么我们在之前的基础上只需要做下小小的改变,就可以使用Struts2的拦截器机制实现登录的验证. 修改数 ...
- Struts2拦截器原理以及实例
一.Struts2拦截器定义 1. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 2. ...
- (三)Struts2 拦截器
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:拦截器简介 (百度百科Struts2) Struts2 拦截器是在访问某 ...
- Struts2拦截器登录验证
Struts2拦截器 Struts2拦截器的概念和Spring Mvc拦截器一样. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截 ...
随机推荐
- 设计模式:单例模式(Singleton)
定义:确保一个类仅有一个实例,并提供一个访问它的全局访问点. 优点:在内存中只有一个对象,节省了内存空间 示例: Singleton.cs 写法一:非线程安全 public class Singlet ...
- jade编译乱码问题
加上: meta(http-equiv="Content-Type",content="text/html; charset=utf-8")
- MANIFEST.MF详解(转)
转载自http://blog.csdn.net/zhifeiyu2008/article/details/8829637 打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, ...
- Maven实战(七)settings.xml相关配置
一.简介 settings.xml对于maven来说相当于全局性的配置,用于所有的项目,当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们 ...
- Jquery 多选下拉列表插件jquery multiselect
有一个多选的需求,在网上找到了这个插件:multiselect https://github.com/ehynds/jquery-ui-multiselect-widget csdn博客上有这个插件的 ...
- 面向对象分析方法(II)
什么是真正的对象? 什么是面向对象分析阶段时的对象? 什么是面向对象设计阶段时的对象? 什么是面向对象实现阶段时的对象? 真正的对象 我所理解的真正的对象就是现实生活中客观存在或不存在的真正的对象.这 ...
- 我的工具箱之Securecrt6.5.0
Securecrt是一款支持SSH的终端仿真软件,一般用于连接Linux/Unix系统.感觉这个比Putty强些. 下载地址是:http://pan.baidu.com/s/1gednNhh
- 开启mysql sql追踪
my.ini [mysqld] # The next three options are mutually exclusive to SERVER_PORT below. # skip-network ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ @ ...
- connect调用超时的实现方式
第二种更通用的.使connect调用超时的方法是使套接字成为无阻塞的,然后用select等待它完成.这种方法避免了使用alarm时遇到的很多问题,但我们必须承认,即使是在UNIX实现中,这种方法还是存 ...