看看我的过滤器写的或者配置的有错吗?配置了以后站点就处于关闭状态打不开。
过滤器代码:
package servlet.filter;import javax.servlet.*;
import javax.servlet.Filter;
import javax.servlet.http.*;
import java.io.*;class ServletFilter implements Filter{
private FilterConfig config=null;
public void init(FilterConfig config) throws ServletException{
this.config=config;
}

public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws ServletException,IOException{
HttpServletRequest httprequest=(HttpServletRequest)request;
HttpServletResponse httpresponse = (HttpServletResponse)response;
httprequest.setCharacterEncoding("GBK");
httpresponse.setCharacterEncoding("GBK");
}
public void destroy(){
this.config=null;
}
}
web.xml配置信息:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
  <display-name>MyJSP</display-name>
  <description>
     Myjsp.
  </description>
<filter>
<filter-name>ServletFilter</filter-name>
<filter-class>servlet.filter.ServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ServletFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>高手帮帮忙啊,在配置文件里不加过滤器的话一切正常,加上以后才tomcat里这个站点就处于关闭状态,打不开

解决方案 »

  1.   

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
      HttpServletRequest http_request = (HttpServletRequest)request;
      HttpServletResponse http_response = (HttpServletResponse)response;  HttpSession session = http_request.getSession();
      SessionBean sessionBean = (SessionBean)session.getAttribute("sessionBeanId");
      LoginuserItem loginuserItem = sessionBean.getLoginuserItem(); //我的登録処理  try {
        if (loginuserItem!=null && loginuserItem.getStatus().equals("1")) { //己登録
          filterChain.doFilter(request, response);
        } else {
          http_request.setAttribute("result_message", "先登録");
          RequestDispatcher d = http_request.getRequestDispatcher("/login.jsp");
          d.forward(http_request, http_response);
        }
      }
      catch(ServletException sx) {
        filterConfig.getServletContext().log(sx.getMessage());
      }
      catch(IOException iox) {
        filterConfig.getServletContext().log(iox.getMessage());
      }
    }给你一份我的,请参考!
      

  2.   

    你的主要没有
    filterChain.doFilter(request, response);另外你的配置信息是对整体MyJSP下的全部过滤,那么不满足条件的如何处理?例如对路径sysuser进行过滤
      <filter>
        <filter-name>adminfilters</filter-name>
        <filter-class>mypkg.AdminFilterServlet</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>adminfilters</filter-name>
        <url-pattern>/sysuser/*</url-pattern>
      </filter-mapping>
      

  3.   

    楼上的说不满足条件的?什么情况下会不满足我写的这个条件?
    我是新手还麻烦大家帮帮忙,仔细说说?
    为什么在tomcat中这个站点会处于stop状态,打也打不开!
      

  4.   

    满足条件的会执行这句↓,自动继续...
     filterChain.doFilter(request, response);
      

  5.   

    好了,我自己看tomcat中的例子吧,谢谢