问题:使用不带斜杠“/”访问项目首页,即:http://localhost:8080/TestFilter;每次访问session都会重新创建,请问有没有大神知道是为什么吗?还有怎么才能避免这个情况。下面是一个测试的filter:public class DemoFilter implements Filter { @Override
public void destroy() {} @Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
System.out.println(req.getSession());
response.getWriter().println("hello world!");
} @Override
public void init(FilterConfig arg0) throws ServletException {}}
web.xml       <filter>
<filter-name>demoFilter</filter-name>
<filter-class>demo.DemoFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>demoFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
控制台输出:
org.apache.catalina.session.StandardSessionFacade@24534011
org.apache.catalina.session.StandardSessionFacade@24534011
org.apache.catalina.session.StandardSessionFacade@2c6ff930
org.apache.catalina.session.StandardSessionFacade@27da3a97
前面两个是带了斜杠“/”的session,后面两个是没有带斜杠“/”