2014-09-20 80 views
2

在这个dofilter方法中,ServletRequest总是返回null值,我不知道是什么原因?doFilter HttpServletRequest return null

Filter.java

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 
    logger.debug("Entering doFilter");   
    HttpServletRequest httpReq = (HttpServletRequest) request; 
    HttpServletResponse httpResp = (HttpServletResponse) response; 
} 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
    <servlet> 
     <servlet-name>SecurityMgr</servlet-name> 
     <servlet-class>com.SecurityMgr</servlet-class> 
     <async-supported>true</async-supported> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>SecurityMgr</servlet-name> 
     <url-pattern>/authentication</url-pattern> 
    </servlet-mapping> 

    <filter> 
     <filter-name>Filter</filter-name> 
     <filter-class>com.Filter</filter-class> 
     <async-supported>true</async-supported> 
    </filter> 
    <filter-mapping> 
     <filter-name>Filter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <listener> 
     <listener-class>com.Initialization</listener-class> 
    </listener> 
    <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 

    <session-config> 
     <session-timeout>0</session-timeout> 
    </session-config> 

</web-app> 
+0

被你的服务器上抛出的任何异常错误(Tomcat的,大概) ? – 2014-09-20 05:35:43

+0

@isim它返回空值,这是问题....(没有发生异常) – 2014-09-20 05:40:08

+0

需要看看你的项目设置并完成'web.xml'。 – 2014-09-20 06:06:09

回答

-1

你的方法应该是这样的:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 
    logger.debug("Entering doFilter");   
    HttpServletRequest httpReq = (HttpServletRequest) request; 
    HttpServletResponse httpResp = (HttpServletResponse) response; 
    chain.doFilter(request, response); 
} 
+0

但问题请求值为空 – 2014-09-20 06:30:47

+0

你可以发布整个'Filter.java'吗? – pms 2014-09-20 06:46:24

+0

你能解释为什么httpReq和httpResp在这里未被使用吗? – DebugXYZ 2015-08-11 02:23:26