转发到 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>
我正在编写一个 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>