struts2基础---->自定义拦截器
这一章,我们开始struts2中拦截器的学习。
自定义拦截器
aaarticlea/png;base64,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" alt="" />
一、增加一个自定义的拦截器为类
package com.huhx.interceptor; import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class RegisterInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1L; @Override
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("拦截器开始运行....");
String resultString = invocation.invoke();
System.out.println("拦截器结束运行....");
return resultString;
}
}
二、修改struts.xml配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="registerInterceptor" class="com.huhx.interceptor.RegisterInterceptor"></interceptor>
</interceptors>
<action name="hello" class="com.huhx.struts.HuhxAction">
<result name="success">/huhx.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="registerInterceptor"></interceptor-ref>
</action>
</package>
</struts>
三、访问地址:http://localhost:8080/StrutsTest1/hello.action,后台打印地址:
拦截器开始运行....
hello world.
拦截器结束运行....
友情链接
struts2基础---->自定义拦截器的更多相关文章
- struts2基础——自定义拦截器
一.自定义拦截器 默认的拦截器能实现的功能是有限的,Struts2 支持自定义拦截器. 二.拦截器类 1.实现 Interceptor 接口 2.继承 AbstractInterceptor 抽象类, ...
- Struts2透过自定义拦截器实现登录之后跳转到原页面
Struts2通过自定义拦截器实现登录之后跳转到原页面 这个功能对用户体验来说是非常重要的.实现起来其实很简单. 拦截器的代码如下: package go.derek.advice; import g ...
- 【struts2】自定义拦截器
1)什么是自定义的拦截器 所谓自定义的拦截器,就是由我们自己定义并实现的拦截器,而不是由Struts2定义好的拦截器.虽然Struts2的预定义拦截器已经满足了大多数情况的需要.但在有些时候,我们可能 ...
- struts2 的自定义 拦截器
Struts2的 拦截器: 对于拦截器,Struts2官方给出的 定义是: 拦截器是动态拦截Action调用的对象.它提供了一种机制,使开发者可以定义一段代码,在Action执行之前或者之后被调用执行 ...
- Struts2笔记——自定义拦截器
需要两个步骤,自定义类实现拦截器接口和在struts.xml注册拦截器 =============================== 1.自定义类实现com.opensymphony.xwork2. ...
- Struts2使用自定义拦截器导致Action注入参数丢失、url参数
写struts2项目时发现前台超链接中的参数无法传到action, 所有带有传递参数的均无法正常使用了,在Action中所有的参数无法被注入. 后来经过debug发现其中的页面都要先经过拦截器,而后再 ...
- 【Struts2】自定义拦截器interceptors
下面给一张图片表示Struts2拦截器的处理流程. 通过这个流程图,我们可以看出一个完整的请求大概的过程为: 请求 -->filter 控制器 --> 拦截器 1/ 拦截器 2--> ...
- struts2自定义拦截器与cookie整合实现用户免重复登入
目的:测试开发时,为了减少用户登入这个繁琐的登入验证,就用struts2做了个简单的struts2拦截器,涉及到了与cookie整合,具体的看代码 结构(两部份)=struts2.xml+自定义拦截器 ...
- [原创]java WEB学习笔记74:Struts2 学习之路--自定义拦截器,struts内建的拦截器
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
随机推荐
- LPD打印机服务是什么意思
line Printer Daemon(LPD)行式打印机后台程序,用于假脱机打印工作的UNIX后台程序(后台服务).行式打印机后台程序是一个安装在UNIX打印服务器上的后台程序.它的功能是等待接受客 ...
- Iconfont在移动端遇到问题的探讨
Iconfont越来越得到前端的关注,特别是阿里那个iconfont库的推出和不断完善,再加上连IE6都能兼容,的确是个好东西. 既然那么火,我们公司移动项目也计划加入这个iconfont,于是我就针 ...
- hadoop 参数
看<Hadoop:权威指南>的时候收集了书上写的一些需要优化的参数,记录了一下子,给大家分享一下吧. 1.mapred.task.timeout 任务超时时间,默认是10分钟 2.mapr ...
- JavaScript初学者福利!必须收藏的24条小技巧
JavaScript初学者福利!必须收藏的24条小技巧 前端小编 发布于 2013-12-15 22:52 查看数: 2343 评论数: 6 帖子模式 这篇文章将回顾JavaScript的知识 !如果 ...
- QT全局宏变量的实现
qt中如何实现定义一个宏,在整个工程中都可以实现呢?下面我来写一个亲测的例子: pro中添加如下宏定义代码: DEFINES += HELLO=\"$$PWD/\" DEFINES ...
- 【面试】hibernate n+1问题
Hibernate中常会用到set,bag等集合表示1对多的关系, 在获取实体的时候就能根据关系将关联的对象或者对象集取出, 还可以设定cascade进行关联更新和删除.这不得部说hibernate的 ...
- repo manifest.xml 分析
repo是用于管理android的git仓库的工具. 之前想将android的代码放在github上面,并通过repo进行管理.但一直不知道怎么添加进去,那么多的git仓库,难道都要手动建立吗? 直到 ...
- 【转】C# URL短地址压缩算法及短网址原理解析
这篇文章主要介绍了C# URL短地址压缩算法及短网址原理解析,本文重点给出了算法代码,需要的朋友可以参考下 短网址应用已经在全国各大微博上开始流行了起来.例如QQ微博的url.cn,新郎的sinaur ...
- erlang 自定义函数的初步应用
一.模块内调用 1> AA=fun(BB)-> io:format("this is test args ~s~n",[BB]) end.#Fun<erl_eva ...
- 初次使用ets
一.new(Name, Options) -> tid() | atom(),创建ets表. Options = [Option], 目测常用的属性, {keypos, Pos}:指定key的位 ...