使用jsp/servlet的java清理URL? 1 年,1 月 Questions & Answers 7223 我计划使用jsp和servlet制作一个CMS。有人能告诉我如何使用这种技术实现干净的URL吗
# 2 楼答案 使用URLRewriteFilter或者您可以自己编写,如果您知道如何使用部署描述符和过滤器,这非常简单。 例如,您有一个servlet,它根据请求参数响应内容,比如a.comcat=book&post=java(称之为^{) 你想把url重写成a.com/book/java 所以你应该创建一个过滤器: 筛选器名称:dispatcher 映射:/* 在这个过滤器中,您应该处理字符串"/book/java",为cat和post变量生成数据。然后把它转发给showContent servlet来处理请求
# 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中,以防止直接访问 另请参见: Hidden features of JSP/Servlet
# 4 楼答案 您可以尝试使用urlrewritefilter:http://code.google.com/p/urlrewritefilter/。它使用一个servlet过滤器和一个xml文件来允许应用程序拥有干净的url。干净url的构建将由您自己负责
# 1 楼答案
我使用JSTL<;c:url>;标签
# 2 楼答案
使用)
你想把url重写成
URLRewriteFilter
或者您可以自己编写,如果您知道如何使用部署描述符和过滤器,这非常简单。 例如,您有一个servlet,它根据请求参数响应内容,比如a.comcat=book&post=java(称之为^{a.com/book/java
所以你应该创建一个过滤器: 筛选器名称:dispatcher 映射:/*在这个过滤器中,您应该处理字符串
"/book/java"
,为cat和post变量生成数据。然后把它转发给showContent servlet
来处理请求# 3 楼答案
利用servlet中充当前端控制器的
HttpServletRequest#getPathInfo()
没有任何琐碎验证的启动示例:
这将在例如http://example.com/context/servlet/foo/bar上请求显示
/WEB-INF/foo/bar.jsp
文件。JSP文件应该放在/WEB-INF
中,以防止直接访问另请参见:
# 4 楼答案
您可以尝试使用urlrewritefilter:http://code.google.com/p/urlrewritefilter/。它使用一个servlet过滤器和一个xml文件来允许应用程序拥有干净的url。干净url的构建将由您自己负责