日期:2014-05-19  浏览次数:20684 次

过滤器路径的问题
做登录时,在FILTER中跳转到一个提醒用户先登录的页面,我配置如下
 <filter>
<filter-name>loginfilter</filter-name>
<filter-class>zeng.loginfilter.LoginFilter</filter-class>
  </filter>
  <filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/*</url-pattern>
  </filter-mapping>

但是因为我的登录JSP也是放在跟项目根目录下的,所以跟本跳不到登录页面,就一直是在提醒登录页面,但是地址栏会变为登录页面的地址,该如何才能显示也登录页面来呢?我试过在根目录下建一新文件夹,然后把除登录以外的JSP都放在此文件夹,然后再配置,这样倒时能,但是因为我用的是MYECLIPSE 这样,我在MYECLIPE中对文件做的修改不会在新建的这个文件夹在的文件产生改变,而是在跟目录下又生成了新的文件,该怎么做啊?

------解决方案--------------------
一般是把登录页面所在目录,跟常规页面所在目录分开,比如:

根目录 \ 放登录页面:\index.jsp

jsp目录 \jsp\ 放其它所有页面:\jsp\模块\页面.jsp

然后只需要拦截jsp目录就行了(这样也避免很多资源文件的访问要经过Filter):
<filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>

------解决方案--------------------
Java code
<filter-mapping>
  <filter-name>loginfilter</filter-name>
  <url-pattern>/jsp/*</url-pattern>
</filter-mapping>