我打算使用jsp和servlet创建一个CMS。谁能告诉我如何使用这种技术实现干净的网址?
答案 0 :(得分:4)
您可以尝试使用urlrewritefilter:http://code.google.com/p/urlrewritefilter/。这使用servlet过滤器和xml文件来允许应用程序具有干净的URL。干净网址的构建将由您自己负责。
答案 1 :(得分:3)
在充当前端控制器的servlet中使用HttpServletRequest#getPathInfo()
。
Kickoff示例没有任何简单的验证:
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
中以防止它们被直接访问。
答案 2 :(得分:0)
使用URLRewriteFilter
或者您可以自己编写,如果您知道如何使用部署描述符和过滤器,则非常简单。
例如,您有一个servlet根据请求参数响应内容,例如 a.com? cat = book& post = java (call它showContent servlet
)
并且您想要将网址重写为a.com/book/java
所以你应该创建一个过滤器:
过滤器名称:调度程序
映射:/ *
在该过滤器中,您应该处理字符串"/book/java"
以生成 cat 和 post 变量的数据。然后将其转发到showContent servlet
以处理请求。
答案 3 :(得分:-1)
我使用JSTL< c:url>标签