我有一个jsp文件a.jsp,有一个文件b.jsp来调用a.jsp这个文件,但是我怕别人恶意的调用a.jsp,我就想控制一下,a.jsp这个文件只能被本地调用,就是说只能是被localhost即(127.0.0.1)调用,这个应该怎么做呢?有没有哪位高手指教一下,谢谢!!

解决方案 »

  1.   

    request.getServerName()得到的是访问的域名啊
      

  2.   

    ........在页面获得访问者IP 如果不是127.0.0.1就T掉
    request.getRemoteAddr() 
      

  3.   

    我以前做过,用jguard 可以过滤jsp页面的
      

  4.   

    写一个过滤器直接过滤访问a.jsp页面的请求:
    部分JAVA代码public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain arg2) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest)arg0;
    HttpServletResponse response = (HttpServletResponse)arg1;
    String IP = request.getRemoteAddr();
    System.out.println("客户端IP:"+IP);
    if(!IP.equals("127.0.0.1")){
    //页面跳转或者你想要的处理
    //response.sendRedirect("你想要跳转的页面");
    }
    }web.xml部分配置 <filter>
      <filter-name>pageFilter</filter-name>
      <filter-class>过滤器所在的包路径</filter-class>
     </filter>
     <filter-mapping>
      <filter-name>pageFilter</filter-name>
      <url-pattern>/a.jsp</url-pattern>
     </filter-mapping>