Proble with RequestDispatcher and Filter
843841Nov 27 2007 — edited Nov 28 2007Hi all!
i 've a strange problem with requestDispatcher and filter:
the filter is not invoked when in my servlet i make a call to forward method of requestDispatcher.
Can someone help me?
Thanks a lot
My Code:
// THE SERVLET
public class EmulePortalServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
doGetOrPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException {
doGetOrPost(request,response);
}
public void doGetOrPost(HttpServletRequest request, HttpServletResponse response) throws ServletException
{
try {
response.setHeader("HTTP_SM_USER","user");
RequestDispatcher rd=request.getRequestDispatcher("/SLA_ADSL_PORTAL/index_portal.jsp);
rd.forward(request,response);
}
catch(Exception e) {
e.printStackTrace();
}
}
}
//THE FILTER
public final class PortalFilter implements Filter
{
private FilterConfig filterConfig = null;
public void service(ServletRequest req, ServletResponse res){}
public void init(FilterConfig filterConfig) throws ServletException
{
this.filterConfig = filterConfig;
}
public void destroy()
{
this.filterConfig = null;
}
public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain) throws IOException, ServletException
{
System.out.println("PORTAL FILTER");
String user = request.getHeader("HTTP_SM_USER");
//some operation
chain.doFilter(request, response);
}
}
//WEB.XML
<filter>
<filter-name>PortalFilter</filter-name>
<filter-class>portal.filter.PortalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PortalFilter</filter-name>
<url-pattern>/SLA_ADSL_PORTAL/*</url-pattern>
<dispatcher>forward</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>emuleServlet</servlet-name>
<servlet-class>portal.servlet.EmulePortalServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>emulePortalServlet</servlet-name>
<url-pattern>/emule/</url-pattern>
</servlet-mapping>
All package and relative imports works.