六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 70|回复: 0

struts1的多个filter的配置

[复制链接]

升级  50%

5

主题

5

主题

5

主题

童生

Rank: 1

积分
25
 楼主| 发表于 2013-2-6 08:44:56 | 显示全部楼层 |阅读模式
Web.xml的配置,关于那个url-pattern我是费了点劲,得出的结论是url-pattern是IE地址栏里的URL,并不是相对WEN-INF的相对路径,如果要拦截WEB-INF下的JSP文件夹里的页面的话,<url-pattern>/jsp/*</url-pattern>,<url-pattern>/WEB-INF/jsp/*</url-pattern>
这两种配置都是不对的。原因是,它始终关注着浏览器地址栏里的地址。我就是这样的理解的。
<filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>IsLogin</filter-name><filter-class>filter.LoginFilter</filter-class><init-param><param-name>loginPage</param-name><param-value>/index.jsp</param-value></init-param></filter>         <filter-mapping><filter-name>IsLogin</filter-name>                //拦截后缀名为showUserList.do的URL<url-pattern>/showUserList.do</url-pattern>                //拦截后缀名为executeBussiessMethod.do的URL<url-pattern>/executeBussiessMethod.do</url-pattern></filter-mapping>
Filter类代码:
public class LoginFilter implements Filter{/** *  */private static final long serialVersionUID = 1L;  private static Logger LOG = Logger.getLogger(LoginFilter.class);    private FilterConfig config;public void init(FilterConfig config) throws ServletException {this.config=config;}public void destroy() {this.config=null;}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {System.out.println("===============Filter LoginFilter===============");HttpServletRequest requ=(HttpServletRequest)request;HttpServletResponse resp = (HttpServletResponse)response;  HttpSession session=requ.getSession();if(session.getAttribute("session_user")==null){       //这里的 test是应用名字,这里并不像test是根目录一样。resp.sendRedirect("/test/index.jsp"); }else{chain.doFilter(request, response);}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表