Struts.xml配置文件

<?xml version="1.0"encoding="UTF-8"?><!DOCTYPE strutsPUBLIC"-//Apache Software Foundation//DTD StrutsConfiguration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><!-- 开发模式 --><constant name="struts.devMode"value="true" /><!-- spring管理struts --><constant name="struts.objectFactory"value="spring" /><package name="struts-shop" extends="struts-default"><interceptors><!-- 先定义拦截器自己写的拦截器类 name随便写 class为全限定名 --><interceptor name="filterInterceptor"class="com.bw.lanjieqi.FilterInterceptor"/><!-- 加到自己设置的拦截器栈里边去 --><interceptor-stack name="myStack"><!--   name为上面interceptor标签里面定义的name--><interceptor-ref name="filterInterceptor"><!--拦截器黑白名单   includeMethods为拦截的方法 excludeMethods不拦截这俩可以单独存在 --><param name="includeMethods">toAdd</param><param name="excludeMethods">toUpdate</param><!--指定参数name的值   可以不写不需要就不写--><param name="name">FilterMethod</param></interceptor-ref><!--   在自己配置的拦截器基础上,必须有struts2默认的拦截器,不然出错 --><interceptor-ref name="defaultStack"></interceptor-ref></interceptor-stack></interceptors><!-- 应用拦截器不写拦截器不生效 --><default-interceptor-ref name="myStack"/></package><!-- 将其他的struts2的配置文件加载到主配置文件struts.xml里 --><include file="struts-action.xml" /></struts>Struts-action.xml配置文件<?xml version="1.0"encoding="UTF-8"?><!DOCTYPE strutsPUBLIC"-//Apache Software Foundation//DTD StrutsConfiguration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><!-- extends继承struts.xml里的拦截器的配置 --><package name="city"extends="struts-shop"><action name="city_*"class="com.bw.action.CityAction" method="{1}"><result name="list">/WEB-INF/view/list.jsp</result><result name="toAdd">/WEB-INF/view/add.jsp</result><result name="toUpdate">/WEB-INF/view/update.jsp</result><result name="success"type="redirect">city_list</result></action></package></struts>

FilterInterceptor

package com.bw.lanjieqi;import java.util.Date; import com.bw.action.CityAction;import com.opensymphony.xwork2.ActionInvocation; importcom.opensymphony.xwork2.interceptor.MethodFilterInterceptor; publicclass FilterInterceptor extends MethodFilterInterceptor{ //配置文件中指定的参数可以不用private String name; public String getName() { returnname; } publicvoid setName(Stringname) { this.name = name; } @Overrideprotected StringdoIntercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub //获取要拦截的action  如果不过过多的处理可以不写CityActionfa= (CityAction)invocation.getAction(); System.out.println(name+"拦截器在Action执行前拦截"+new Date()); String result=invocation.invoke(); System.out.println(name+"拦截器在Action执行后拦截"+new Date()); return result; } }  

struts2拦截器,拦截指定方法相关推荐

  1. Spring Boot——自定义多个拦截器(HandlerInterceptor)配置方法与执行顺序

    执行顺序 源代码 拦截器类 package com.jd.m.tg.interceptor;import org.slf4j.Logger; import org.slf4j.LoggerFactor ...

  2. springMVC使用拦截器针对控制器方法做预处理、后处理、资源清理

    简单了解一下过滤器和拦截器: 过滤器是servlet规范中的一部分,任何java web工程都可以使用:在url-pattern中配置/*之后,可以对所有要访问的资源拦截.拦截器是springMVC框 ...

  3. Struts自定义拦截器拦截器工作原理

    0.拦截器的调用原理: 拦截器是一个继承了序列化接口的普通接口.其工作原理是讲需要被拦截的对象作为参数传到intercept()方法内,在方法内部对此对象进行处理之后再执行原方法.intercept( ...

  4. 【项目经验】拦截器拦截入参出参

    文章目录 拦截器拦截入参出参 入参 出参 拦截器拦截入参出参 入参 @Overridepublic boolean preHandle(HttpServletRequest request, Http ...

  5. springboot拦截器拦截提示_Springboot拦截器使用及其底层源码剖析

    博主最近看了一下公司刚刚开发的微服务,准备入手从基本的过滤器以及拦截器开始剖析,以及在帮同学们分析一下上次的jetty过滤器源码与本次Springboot中tomcat中过滤器的区别.正题开始,拦截器 ...

  6. spring拦截器 拦截和排除接口冲突

    以下为springboot案例: 场景:  某个规则下的绝大部分接口路径不需要经过拦截器, 但其中的某几个接口又需要经过拦截器. 例如: "/api/register/**" 模式 ...

  7. axios config里自定义属性,使用拦截器拦截,无法拿到自定义属性问题

    axios config里自定义属性,使用拦截器拦截,无法拿到自定义属性问题 最新版本axios限制了键,对键值做了白名单处理. 解决思路: 修改源码中的内容,添加一个键来报错额外属性. 或者:使用老 ...

  8. 在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案

    在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案 参考文章: (1)在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案 (2)https: ...

  9. JavaWeb开发中alias拦截器的使用方法

    在SSH项目中,有时需要由一个Action跳转到另一个Action.有两种方式可以实现Action之间的跳转,一种是chain,另一种是redirectAction,这两种方式之间的区别是chain是 ...

  10. struts2拦截器--拦截未登录用户

    拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重 ...

最新文章

  1. js的全部替换函数replaceAll
  2. 慕课网 javascript深入浅出编程练习
  3. 蓝牙a2dp硬件卸载是什么意思_索尼这项音频黑科技 让蓝牙音质从此不输有线
  4. [leetcode-515-Find Largest Value in Each Tree Row]
  5. 用WPF开发Mapxtreme-- 在.net 4.0 下面开发WPF mapxtreme 程序
  6. 区块链101:区块链的应用和用例是什么?
  7. leetcode1487. 保证文件名唯一
  8. [工具] 知网(CNKI)文献下载工具
  9. mybatis查询返回空,SQL数据库执行有数据!
  10. 计算机应用技术专业考试试题,全国专业技术人员计算机应用能力考试模拟试题笔试题.docx...
  11. html怎么设置波浪线,前端基础学习-css实现波浪线及立方体
  12. SPSS统计术语与思维【SPSS 002期】
  13. http长轮询短轮询
  14. 我靠ppt做兼职副业,1月还清2W贷款成功上岸!
  15. CAD工具栏不见了怎么显示出来/CAD面板不见了怎么显示出来
  16. TX-LCN分布式事务之TCC模式
  17. 计算机休眠唤醒后分辨率变小了,WIN10休眠唤醒后,所有的窗口都跑到了左上角,如何解决?...
  18. 远程调用中间件RPC
  19. 回顾 Firefox 历史
  20. 使用js定时器实现倒计时功能

热门文章

  1. 零基础程序员如何自学编程?用这6种方法就够了!
  2. 干货十足:一大波好用的Windows软件帮你开路!
  3. 图像篡改被动检测技术一览:基于特征提取和卷积神经网络的篡改检测
  4. 抖音短视频矩阵系统源代码开发
  5. 向日葵远程分辨率过低解决办法
  6. 操作系统 进程通信方式
  7. P2P网络借贷平台的第三方资金托管机制
  8. python box2d模拟平抛运动_[HTML5]使用Box2dWeb模拟飞行箭矢
  9. @JsonFormat和@DataFormat的使用
  10. AHCI和IDE的区别,如何在AHCI模式下安装系统