我想讓我的項目使用多個控制器。我的問題是,如何從一個控制器導航到另一個控制器,以及我應該如何爲我的用戶設置標準主頁以降落?這應該是一個單獨的「homeController」?我不明白這應該如何工作。 「Spring in Action」一書沒有詳細解釋這一點。Spring MVC入口點
謝謝
我想讓我的項目使用多個控制器。我的問題是,如何從一個控制器導航到另一個控制器,以及我應該如何爲我的用戶設置標準主頁以降落?這應該是一個單獨的「homeController」?我不明白這應該如何工作。 「Spring in Action」一書沒有詳細解釋這一點。Spring MVC入口點
謝謝
您可以使用不同的控制器(Java類)與@Controller
註釋,這取決於你想做的事是在控制器中定義的方法相關的URL,例如:
@Controller
public class HomeController {
@RequestMapping(value = "/home", method = RequestMethod.GET)
public ModelAndView home() {
//code to process for the /home url
}
// More code
}
您可以使用調度程序servlet委託給不同的控制器。
<servlet>
<servlet-name>your-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>your-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
現在取決於您控制器的@RequestMapping
綁定,則DispatcherServlet
將自行決定路由請求。
另請檢查github上的spring mvc展示。 https://github.com/SpringSource/spring-mvc-showcase
如果您的網站需要像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>
然後在那裏你辦理應該包含這樣CONFIGS所有users.It的登錄請求,你應該有一個調度員打電話的servelt公共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應用程序的常見降落的地方,放一個jsp着打上面調度的servelt如下。
<jsp:forward page="/pub/login" />
注意:在您的控制器中,您需要在get方法中具有/登錄映射,如下所示。
@RequestMapping(方法= {GET,HEAD},值= 「/登錄」) 公共字符串loginHandler(.......){}
這是如何實現正常的共同目標網頁通過彈簧控制器。
在servlet的context.xml的檢查
<context:component-scan base-package="com.domain.package.controller" />
並使用
@Controller
在課堂上你想成爲控制器。
你有單個控制器工作?你使用註釋嗎?您應該提供更多信息以及目前爲止的內容,以便人們提供幫助。 – walnutmon 2012-08-06 14:33:59