我想让我的项目使用多个控制器。我的问题是,如何从一个控制器导航到另一个控制器,以及我应该如何为我的用户设置标准主页以降落?这应该是一个单独的“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