我想捕获一个特定的url模式并转发到一个静态页面。因此,如果我看到以下任何内容:
http://www.example.com/students?name=bob
http://www.example.com/students?name=mary
...
然后我想转发到静态页面,如:
http://www.example.com/studentsTemporaryPage.jsp
我可以添加到我的web.xml文件中,以将上述任何模式(更改中的参数名称可能会有所不同)重定向到我的静态页面吗?
我正在使用谷歌应用引擎(java),但认为对于任何基于servlet的服务器可能都是一样的吗?
谢谢
答案 0 :(得分:1)
创建转发servlet:
public class ForwardServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
// you can do some manupulations based on 'name' here
String target = "/studentsTemporaryPage.jsp";
RequestDispatcher dispatcher = getServletContext()
.getRequestDispatcher(target);
dispatcher.forward(request, response);
}
}
然后将其映射到/students
<servlet>
<servlet-name>ForwardServlet</servlet-name>
<servlet-class>com.packagename.ForwardServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ForwardServlet</servlet-name>
<url-pattern>/students</url-pattern>
</servlet-mapping>
答案 1 :(得分:0)
将servlet或过滤器映射到/students
,并使用response.sendRedirect()
(如果需要重定向)将此servlet或过滤器重定向到静态页面,或使用请求调度程序转发到JSP (如果你想要前锋)。
前进和重定向是两个非常不同的东西。决定你想要哪一个。