糊言乱语

志未半斤, 才无八两. 有苦有乐, 糊涂过活。
posts - 25, comments - 7, trackbacks - 0, articles - 42
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

JSP安全地址

Posted on 2007-07-24 22:57 Stanley Sun 阅读(154) 评论(0)  编辑  收藏

曾经在别的项目里看见过把JSP文件放到WEB-INF目录下的方式,当时感觉很是奇怪,至今还是没有想明白为什么放到那里。今天在网上查资料的时候又看到了这种方式。查了一下它的目的有人说是减少程序的入口点以提高应用的安全性。

不管他的目的为何和是否如其所愿先实现再说,实现方法其实很简单就是在应用中注册一个转发的Servlet来把浏览器请求的地址转换到WEB-INF目录下对应的文件上。转发Servlet的源码如下:


import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class RedirectServlet extends HttpServlet {
    
    
protected void doGet(HttpServletRequest request,
            HttpServletResponse response) 
throws ServletException, IOException {

        String url 
= request.getParameter("path");

        RequestDispatcher rd 
= request.getRequestDispatcher("/WEB-INF/pages/" + url);
        rd.forward(request, response);
    }


    
protected void doPost(HttpServletRequest request,
            HttpServletResponse response) 
throws ServletException, IOException {
        doGet(request, response);
    }

}


只有注册用户登录后才能发表评论。


网站导航: