转发到 JSP 的 Servlet

Servlets that forward to JSPs

我正在编写一个 Java EE WebApp,它使用多个 JSP 文件。直到现在,我习惯这样写地址:

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 不是很快...

谢谢!

如果你只需要将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>