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内建的拦截器
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
随机推荐
- 【UE4】如何获取/下载虚幻4(Unreal Engine4)源码
在官网中点击[获取虚幻引擎]可以看到,虚幻4完整源代码已经放在Github上,所以与其用百度搜别人的资源,当然是直接上Github下啊. 主要步骤如下: 注册一个Github帐号,这个没啥值得说的. ...
- FreeBSD下安装lua
额,一行命令搞定啊 make freebsd CC=clang && make install 花了我一晚上,问题是啥呢? 我在Makefile中压根没有看到CC的定义在哪儿,然后直接 ...
- Cent OS 6.5下安装gcc-5.3.0
目录: .下载源码包 .安装以前版本的GCC编译器 .文件传输 .熟悉解压命令 .安装流程 .开始安装 .安装必备包之GMP,MPFR,MPC的安装 .继续安装 [1.下载源码包] ...
- at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
关于手动编译hadoop入门例子WordCount并执行 之前做的例子都是用hadoop中已经编译好jar包来运行示例的但是这次想要手动编译个实例,练下手没想到还是遇到点了小困难 [root@cent ...
- pthread_self()究竟根据什么来得到线程的标识符????
#include<stdlib.h> #include<pthread.h> #include<stdio.h> #include<sched.h> # ...
- Spring 事物传播特性
Spring 事物传播特性 这是Spring官方的定义 一共有7种 摘自源码省略了一部分 public interface TransactionDefinition { int PROPAGATIO ...
- 去掉iPhone、iPad的默认按钮样式
只要在样式里面加一句去掉css去掉iPhone.iPad的默认按钮样式就可以了!~ input[type="button"], input[type="submit&qu ...
- C# 字典 Dictionary 遍历
using System; using System.Collections.Generic; public class Example { public static void Main() { / ...
- Entity Framework应用:Code First的实体继承模式
Entity Framework的Code First模式有三种实体继承模式 1.Table per Type (TPT)继承 2.Table per Class Hierarchy(TPH)继承 3 ...
- 多个git账号之间的切换
在这篇文章中: 介绍 处理 一些题外话 我有一个repo,想要同时push到不同的仓库该如何设置? 我有一个github的repo,clone没有问题,push的时候总是报错:error: The r ...