有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用jsp/servlet的java清理URL?

我计划使用jsp和servlet制作一个CMS。有人能告诉我如何使用这种技术实现干净的URL吗


共 (4) 个答案

  1. # 1 楼答案

    我使用JSTL<;c:url>;标签

  2. # 2 楼答案

    使用URLRewriteFilter或者您可以自己编写,如果您知道如何使用部署描述符和过滤器,这非常简单。 例如,您有一个servlet,它根据请求参数响应内容,比如a.comcat=book&post=java(称之为^{) 你想把url重写成a.com/book/java 所以你应该创建一个过滤器: 筛选器名称:dispatcher 映射:/*

    在这个过滤器中,您应该处理字符串"/book/java",为catpost变量生成数据。然后把它转发给showContent servlet来处理请求

  3. # 3 楼答案

    利用servlet中充当前端控制器的HttpServletRequest#getPathInfo()

    没有任何琐碎验证的启动示例:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getRequestDispatcher("/WEB-INF" + request.getPathInfo() + ".jsp").forward(request, response);
    }
    

    这将在例如http://example.com/context/servlet/foo/bar上请求显示/WEB-INF/foo/bar.jsp文件。JSP文件应该放在/WEB-INF中,以防止直接访问

    另请参见:

  4. # 4 楼答案

    您可以尝试使用urlrewritefilter:http://code.google.com/p/urlrewritefilter/。它使用一个servlet过滤器和一个xml文件来允许应用程序拥有干净的url。干净url的构建将由您自己负责