如果您的网站需要一个像 login.jsp 这样的通用登录页面,您可以按照以下方式进行操作。在 web.xml 中配置您的调度程序 servlet,如下所示。
<servlet>
<servlet-name>public</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>public</servlet-name>
<url-pattern>/pub/*</url-pattern>
</servlet-mapping>
然后,您应该有一个调度程序 servelt 调用 public-servelt.xml,您可以在其中处理所有用户的登录请求。它应该包含这样的配置。
<context:component-scan base-package="com.mycompany.web.controller.secure" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/pub/"
p:suffix=".jsp" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"
p:synchronizeOnSession="true" />
然后在你的 index.jsp 中 web app 的常用登陆地方,将一个 jsp 向前打到 dispatcher servelt 上面,如下所示。
<jsp:forward page="/pub/login" />
注意:在您的控制器中,您需要在 get 方法中进行 /login 映射,如下所示。
@RequestMapping(method = {GET, HEAD}, value = "/login") public String loginHandler(.......){}
这就是通常如何通过 spring 控制器实现一个普通的登陆页面。