Google app engine 如何捕获URL并重定向到静态页面?
我想捕捉一个特定的url模式并转发到一个静态页面。因此,如果我看到以下任何情况:Google app engine 如何捕获URL并重定向到静态页面?,google-app-engine,jsp,Google App Engine,Jsp,我想捕捉一个特定的url模式并转发到一个静态页面。因此,如果我看到以下任何情况: http://www.example.com/students?name=bob http://www.example.com/students?name=mary ... 然后我想转到一个静态页面,如: http://www.example.com/studentsTemporaryPage.jsp 我是否可以向web.xml文件中添加一些内容,以将上述模式(更改时的参数名称可能不同)重定向到我的静态页面 我
http://www.example.com/students?name=bob
http://www.example.com/students?name=mary
...
然后我想转到一个静态页面,如:
http://www.example.com/studentsTemporaryPage.jsp
我是否可以向web.xml文件中添加一些内容,以将上述模式(更改时的参数名称可能不同)重定向到我的静态页面
我使用的是google app engine(java),但您认为它对任何基于servlet的服务器都是一样的吗
谢谢将servlet或筛选器映射到
/students
,并使用response.sendRedirect()
(如果需要重定向)将此servlet或筛选器重定向到静态页面,或者使用请求分派器转发到JSP(如果需要转发)
转发和重定向是两件截然不同的事情。决定您想要哪一个。创建转发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>
ForwardServlet
com.packagename.ForwardServlet
ForwardServlet
/学生