我在JSP方面相当新,我需要一些帮助。
我有一个index.jsp文件,显然如果你键入" localhost //",它默认会自动调用index.jsp。我想知道这是如何工作的,因为我打算在index.jsp加载之前先调用一个控制器。
我试着解决它。在我的index.jsp中,我把它放在那里:
if(request.getParameter("submit") == null &&
request.getAttribute("submit") == null){
response.sendRedirect("getInformation");
}
在这里,我强迫index.jsp直接调用我的控制器/ servlet。 (我使用@WebServlet(" / getInformation"在我想调用的控制器上)。
我想知道是否有更好的方法可以做到这一点,因为我希望我的控制器/ servlet上的所有逻辑代码和.jsp中的所有html代码尽可能多。
答案 0 :(得分:1)
web.xml
中定义欢迎文件。在下面的示例中创建一个'stupid'index.html设置META标记重定向到您的控制器SomeController
(将一些计算从服务器委托给客户端):
<强>的web.xml 强>
<welcome-file-list>
<welcome-file>/WEB-INF/jsp/index.html</welcome-file>
</welcome-file-list>
<强>的index.html 强>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="refresh" content="0; URL=./SomeController" />
<title>Some title</title>
</head>
<body>
If you are not automatically redirected please click <a href="./SomeController">here</a>.
</body>
</html>