struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)

一、web.xml配置

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>com.appdept.servlet.MyStrutsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

二、自定义拦截器

public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter {

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String url = request.getRequestURI();
if (url.contains("PDFServer.jsp")) {
/*这两句在我的项目中是为了防止乱码,可以不用管
req.setCharacterEncoding("UTF-8");
res.setCharacterEncoding("UTF-8");*/
chain.doFilter(req, res);  //直接跳过
}else{
/*req.setCharacterEncoding("UTF-8");
res.setCharacterEncoding("UTF-8");*/
super.doFilter(req, res, chain); //chain继续进下一个拦截器
}
}
}

时间: 2024-10-04 22:32:49

struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)的相关文章

struts2设置index.action为主页(另:web.xml编辑卡死问题解决)

本来是弄拦截器的问题,结果弄主页的时候,还是发现了问题. 公司网站的项目里面,是用index.action作为主页的,访问WEB-INF里面的html文件.可是我设置的却不成功,追根到底,一个原因,struts2比较特殊,struts.xml里面必须多配置一个request和response. <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" versio

【struts2.5配置】web.xml配置

一.引用jar包 1. 将下载好的struts下的核心类库复制到/WEB-INF/lib目录下 二.web.xml配置 check your struts2-core-x.x.jar version. -->if it is struts2-core-2.5.jar then change your filter class tag value in web.xml to <filter-class> org.apache.struts2.dispatcher.filter.Struts

struts2学习笔记---自定义拦截器

什么是拦截器? struts2中拦截器分为Struts2定义好的拦截器和自定义的拦截器.其作用是在一个Action执行之前进行拦截,在Action执行之后又加入某些操作. 实现原理 当请求一个Action时,struts2会查找配置文件,并根据这个Action的配置实例化对应的拦截器对象,然后串成一个列表(list),最后一个一个地调用列表中的拦截器. 拦截器的执行流程 1.对Action进行预处理.(正序执行) 2.拦截器自身决定该不该执行后续的拦截器(由invoke()方法的返回值决定).

struts2框架之自定义拦截器和配置

struts框架中也存在拦截器,只不过系统自动调用.框架自带的拦截器的配置文件所在的位置为: java Resources--->Libraries--->struts2-core-2.3.36.jar(核心包)--->struts-default.xml 这个配置文件中放置的是框架所有的拦截器,拦截器放置在拦截器栈中<interceptor-stack>.在配置文件中有一个基本拦截器栈,我们如果需要使用拦截器的时候,调用基本拦截器就可以了. 如果我们想要实现自己定义的功能,

struts2 web.xml配置访问404

初学Struts2,在配置完访问页面时发现访问此WEB工程的任何页面都报404错误. 发现在web.xml中只要配置filter就会出现此问题.在网上找了很多方法,发现是jar包的原因,我用的是官网下载的2.55all包,并把所有的jar包了导进去所以出现了这个问题.最终解决办法, 删除struts2-spring-plugin-2.5.5包即可

struts2学习(6)自定义拦截器-登录验证拦截器

需求:对登录进行验证,用户名cy 密码123456才能登录进去:  登录进去后,将用户存在session中: 其他链接要来访问(除了登录链接),首先验证是否登录,对这个进行拦截: com.cy.model.User.java: package com.cy.model; public class User { private String userName; private String password; public String getUserName() { return userNam

整合spring之后,struts2里面的自定义拦截器的invocation.invoke()总是返回input

这个真的是整死我了,还好看见了一篇博客提示了我, 解决方法: 在spring的bean配置中我没有设置action的作用域为prototype,也就是多例的,如果不设置则就会是默认的singleton. 也就是我们每次去调用action的时候都应该是一个新的action,而不是之前的action,所以就应该是多例模式的,而不是单例模式 哎!整死我了! 我把原文博客分享在这里: https://blog.csdn.net/zml_2015/article/details/50266783 原文地址

关于struts2的web.xml配置

<span style="font-size: large;"><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://struts.apache.org/dtds/s

struts2 result类型为redirectAction时,跳转转到另一个包空间里的一个action的指定处理方法的xml配置

xml配置如下: <action name="editTeaAction" class="com.hcj.action.database.admin.EditTeaAction"> <!-- 编辑成功后,转到茶叶信息界面 --> <result name="success" type="redirectAction"> <!-- 指定跳转的action名称 --> <par