这一章,我们开始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. 可能是目前最完整的前端框架 Vue.js 全面介绍

    Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架. 摘要 2016年最火的前端框架当属Vue.js了,很多使用过vue的程序员这样评价它,“vue.js兼具angul ...

  2. Translating between qplot and base graphics

    Translating between qplot and base graphics Description There are two types of graphics functions in ...

  3. Droptiles - 炫酷的 Metro 风格的层叠式 Web 面板

    介绍 Droptiles是一套Metro风格的类似Win8的Web2.0控制面板.它采用图块(tiles)建立用户体验.图块(tiles)是一些可以从外部资源中获取数据的迷你应用.点击图块(tile) ...

  4. RunnableException与CheckedException

    Checked Exception 编译时异常 编译的时候检查你的代码可能在运行的时候抛出异常,这通常在编译的时候要去处理的. RunnableException 运行时异常,可以编译通过,但如果不处 ...

  5. 【转】C#调用WebService实例和开发

    一.基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是 ...

  6. C 学习之大小端

    题外话:如有误,请留言通知我. 大小端,是数值在内存中的排列方式:数值的高低位与内存地址的大小 的关系. 大/小端,英文Big/Little Endian. 注意:endian,就是字节序.字节存储顺 ...

  7. 第二百八十二节,MySQL数据库-MySQL视图

    MySQL数据库-MySQL视图 1.视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 2.也 ...

  8. e680. 使三元色图像变明变暗

    This example demonstrates how to brighten or darken an RGB buffered image by scaling the red, green, ...

  9. Javascript的setTimeOut和setInterval的定时器用法

    setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则是在每隔指定的毫秒数循环调用函数或表达式, 直到 clearInterval把它清除.也就是说se ...

  10. Linux内核剖析 之 内存管理

    1. 内存管理区 为什么分成不同的内存管理区? ISA总线的DMA处理器有严格的限制:仅仅能对物理内存前16M寻址. 内核线性地址空间仅仅有1G,CPU不能直接訪问全部的物理内存. ZONE_DMA  ...