呵呵,谢谢楼上的,希望做过的人,给我点代码,或者提示,楼上的能再详细些么?怎么过滤TOMCAT呢?

解决方案 »

  1.   

    上面的能再详细点么?我是JSP菜鸟
      

  2.   

    我这边的HTML有好几万个,由于太多不易修改成JSP,所以只能用什么其他的方法判断吗?
      

  3.   

    用过滤器,也就是filter,你可以看一下相关资料学习一下
      

  4.   

    一个过滤器
    package com.wangjr.Filter;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    /**
     * Created by IntelliJ IDEA.
     * User: Administrator
     * Date: 2005-1-16
     * Time: 14:40:14
     * To change this template use File | Settings | File Templates.
     */
    public class SessionChecker implements Filter{
        private ServletContext context;
        private String targetURI;    public void init(FilterConfig config) throws ServletException{
            //context=config.getServletContext();
            //targetURI=config.getInitParameter("targetURI");
            //System.out.println(targetURI);
        }
        public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)
        throws IOException,ServletException{
           HttpServletRequest httpRequest=(HttpServletRequest)request;
           HttpServletResponse httpResponse=(HttpServletResponse)response;
           HttpSession session=httpRequest.getSession();
           String passed=(String)session.getAttribute("passed");
           //String sessionid=session.getId();
           String strURL=new String((httpRequest).getRequestURL());
           if (strURL.endsWith("login.jsp")||strURL.endsWith("LoginChecker")){
            chain.doFilter(httpRequest,httpResponse);
            return;
           }
           if(passed!=null){
           if(passed.equals("true"))
           {chain.doFilter(httpRequest,httpResponse);
            return;
            }
            }
            //System.out.println("passed is fault");
           //httpResponse.sendRedirect("error1.jsp");
           httpRequest.getRequestDispatcher("error1.jsp").forward(httpRequest,httpResponse);
            }   // }
        public void destroy(){
        }
    }
      

  5.   

    在你判断登陆是否成功的servlet里面,当登陆成功时:
    session.setAttribute("passed","true");
      

  6.   

    楼上的,我还想知道,我要控制某些目录,不是所有的URL,还有上面的包,我怎么使用呢,请指教
      

  7.   

    <web-app>

    <filter>
            <filter-name>SessionTime</filter-name>---------------------名字
            <filter-class>com.wangjr.Filter.SessionTime</filter-class>-----实现类
        </filter>    <filter-mapping>
            <filter-name>SessionTime</filter-name>--------------------与上面名字对应
            <url-pattern>/*</url-pattern> --------------------------需要控制的目录。                                 
        </filter-mapping>
       </web-app>