<filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/test/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/test/viewStudentServle</url-pattern>
</filter-mapping>你的filter相当于只过滤了/test/viewStudentServle
filter的url-pattern在正则匹配上没做太多处理,要想匹配的话你得另作文章,如指定/*
过滤所有的请求,再通过uri分析哪些直接pass.
<filter-name>loginfilter</filter-name>
<url-pattern>/test/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/test/viewStudentServle</url-pattern>
</filter-mapping>你的filter相当于只过滤了/test/viewStudentServle
filter的url-pattern在正则匹配上没做太多处理,要想匹配的话你得另作文章,如指定/*
过滤所有的请求,再通过uri分析哪些直接pass.
解决方案 »
- java语言在linux系统中海量文件的存储结构算法
- 读取一个URL生成一个HTML文件问题
- ibatis的原理是什么??
- spring配置事物的5种方法,任意一种都能实现全部功能吧
- 关于<%@ include file=""%>命令……(100分相送)
- POI中 sheet 和 name 中文问题,高手指点
- 救命,快疯了。weblogic怎么老死掉,网站访问不了。
- JAVA中怎么操作DATE类型
- 首页图片太多,怎么优化
- maven+struts2+spring4+junit4问题2
- weblogic8.1问题求助?
- 求助,关于javax.naming.CommunicationException: Receive timed out问题
LoginFilter已经implements Filter
为什么还要extends HttpServlet?这不多余吗?
<filter-name>loginfilter</filter-name>
<url-pattern>/test/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/test/viewStudentServle</url-pattern>
</filter-mapping>你的filter相当于只过滤了/test/viewStudentServle
filter的url-pattern在正则匹配上没做太多处理,要想匹配的话你得另作文章,如指定/*
过滤所有的请求,再通过uri分析哪些直接pass.GODProbe(世界探针) 说得没错,是我贴错了,这是我改了的,下面才是原来没改的
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Test</display-name>
<filter>
<filter-name>encodefilter</filter-name>
<filter-class>filter.EncodeFilter</filter-class>
</filter>
<filter>
<filter-name>loginfilter</filter-name>
<filter-class>filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodefilter</filter-name>
<url-pattern>/test/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/test/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>longinservlet</servlet-name>
<servlet-class>servlet.LonginServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>viewStudentServlet</servlet-name>
<servlet-class>servlet.viewStudentServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>DeleteServlet</servlet-name>
<servlet-class>servlet.DeleteServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>AddServlet</servlet-name>
<servlet-class>servlet.AddServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ModifyStudent</servlet-name>
<servlet-class>servlet.ModifyStudent</servlet-class>
</servlet>
<servlet>
<servlet-name>Findinfo</servlet-name>
<servlet-class>servlet.Findinfo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>longinservlet</servlet-name>
<url-pattern>/longinservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>viewStudentServlet</servlet-name>
<url-pattern>/viewStudentServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DeleteServlet</servlet-name>
<url-pattern>/DeleteServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AddServlet</servlet-name>
<url-pattern>/AddServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ModifyStudent</servlet-name>
<url-pattern>/ModifyStudent</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Findinfo</servlet-name>
<url-pattern>/Findinfo</url-pattern>
</servlet-mapping>
</web-app>
LoginFilter已经implements Filter
为什么还要extends HttpServlet?
如果不extends HttpServletpublic void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
这个方法怎么写
RequestDispatcher requestDis = ( (HttpServletRequest) request).
getRequestDispatcher("/login.html");
requestDis.forward(request, response);
return ; ///////
} filterChain.doFilter(request, response);不管是 requestDis.foward() 还是 response.redirect() 之后都请紧跟着一个 return ;
要记得之后不应该用任何代码. 有的编译器会自动去掉, 有的不会. 这样没有去掉的话可能会导致 死锁 或其他未知错误.