这一章,我们开始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基础---->自定义拦截器的更多相关文章

  1. struts2基础——自定义拦截器

    一.自定义拦截器 默认的拦截器能实现的功能是有限的,Struts2 支持自定义拦截器. 二.拦截器类 1.实现 Interceptor 接口 2.继承 AbstractInterceptor 抽象类, ...

  2. Struts2透过自定义拦截器实现登录之后跳转到原页面

    Struts2通过自定义拦截器实现登录之后跳转到原页面 这个功能对用户体验来说是非常重要的.实现起来其实很简单. 拦截器的代码如下: package go.derek.advice; import g ...

  3. 【struts2】自定义拦截器

    1)什么是自定义的拦截器 所谓自定义的拦截器,就是由我们自己定义并实现的拦截器,而不是由Struts2定义好的拦截器.虽然Struts2的预定义拦截器已经满足了大多数情况的需要.但在有些时候,我们可能 ...

  4. struts2 的自定义 拦截器

    Struts2的 拦截器: 对于拦截器,Struts2官方给出的 定义是: 拦截器是动态拦截Action调用的对象.它提供了一种机制,使开发者可以定义一段代码,在Action执行之前或者之后被调用执行 ...

  5. Struts2笔记——自定义拦截器

    需要两个步骤,自定义类实现拦截器接口和在struts.xml注册拦截器 =============================== 1.自定义类实现com.opensymphony.xwork2. ...

  6. Struts2使用自定义拦截器导致Action注入参数丢失、url参数

    写struts2项目时发现前台超链接中的参数无法传到action, 所有带有传递参数的均无法正常使用了,在Action中所有的参数无法被注入. 后来经过debug发现其中的页面都要先经过拦截器,而后再 ...

  7. 【Struts2】自定义拦截器interceptors

    下面给一张图片表示Struts2拦截器的处理流程. 通过这个流程图,我们可以看出一个完整的请求大概的过程为: 请求 -->filter 控制器 --> 拦截器 1/ 拦截器 2--> ...

  8. struts2自定义拦截器与cookie整合实现用户免重复登入

    目的:测试开发时,为了减少用户登入这个繁琐的登入验证,就用struts2做了个简单的struts2拦截器,涉及到了与cookie整合,具体的看代码 结构(两部份)=struts2.xml+自定义拦截器 ...

  9. [原创]java WEB学习笔记74:Struts2 学习之路--自定义拦截器,struts内建的拦截器

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. drop有default constraint的column

    有时候我们在drop column的时候,会遇到一些default constraints而不能drop,如果我们已经知道constraint name,则可以用下面的语句先把constraint r ...

  2. PHP 之超级全局变量

    参考菜鸟教程,并经过自己亲手实验,记录PHP的几个超级全局变量 所谓超级全局变量 ,你可以理解为在一个脚本里面的全部代码里面都可以使用的变量. $GLOBALS $GLOBALS 是 php 的一个超 ...

  3. vm虚拟化问题积累

    EXSi是什么?答:是一个独立的系统,承载了虚拟机管理台,虚拟机存储设备等核心要件的一个系统,需要靠客户机通过vsphere连接后进行管理. 问题集:一.建立桌面池找不到模板机问题: 目前因为此问题已 ...

  4. nodejs系列笔记02---模块路径解析

    模块路径解析规则 参考这篇博客 我们已经知道,require函数支持斜杠(/)或盘符(C:)开头的绝对路径,也支持./开头的相对路径.但这两种路径在模块之间建立了强耦合关系,一旦某个模块文件的存放位置 ...

  5. CSS3加载动画

    图1 通常我们都使用gif格式的图片或者使用Ajax来实现诸如这类的动态加载条,但是现在CSS3也可以完成,并且灵活性更大. 选1个例子看看怎么实现的吧: 效果图:   图2 代码: 使用1个名为'l ...

  6. 登录centos虚拟机后显示-bash-4.1

    http://zhidao.baidu.com/link?url=KwpGOdwFw1oxnL71pvPlfRgbRL_IuQeYRzIYJjiDb2SnX0dQye5yUXqHAGSyuD6u2nD ...

  7. 查询相应id下的数据

    ---恢复内容开始--- u方法这样的:带不起模板引擎 <a href="{:U('Del/wzxg','','')}/{$vo.id}">修改</a> 这 ...

  8. C++ 接口(抽象类)

    C++ 接口(抽象类)接口描述了类的行为和功能,而不需要完成类的特定实现. C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念. 如果类中至少 ...

  9. FFmpeg在Android上的移植优化步骤

    http://blog.csdn.net/feixiang_john/article/details/7894188 从事多媒体软件开发的人几乎没有不知道FFmpeg的,很多视频播放器都是基于FFmp ...

  10. ti8127下godb 开发

    http://download.cnet.com/GoDB/3000-2212_4-10306159.html源码rdk https://github.com/vasa-c/go-db github ...