我编写了一个使用多个JSP文件的Java EE WebApp。到现在为止,我用来写这样的地址:
http://www.example.com/login.jsp
但我更喜欢他们会像:
http://www.example.com/login
所以我为每个JSP文件创建了一个Servlet,它们看起来像这样:
public class ForwardLoginServlet extends HttpServlet {
@Override
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url = context.getInitParameter("loginURL"); // this will return the login.jsp filename
forwardToURL(url, request, response);
}
// More stuff here (doget, do post,...)
}
它运行得很完美,但我的问题是:有没有其他方法可以在不为每个JSP创建新的Servlet的情况下执行此操作?编写JSP然后为它编写Servlet并不是很快......
谢谢!
答案 0 :(得分:3)
如果您只需要将url映射到jsp,则可以在web.xml中指定它
<servlet>
<servlet-name>login</servlet-name>
<jsp-file>/WEB-INF/views/login.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>