【发布时间】:2016-02-06 14:44:10
【问题描述】:
我对此有一个临时解决方案,我将在下面解释它,但我正在寻找是否有更好的解决方案。
我有一个带有 web.xml 配置的基本 Spring 4 MVC 应用程序(没有 maven)。 web.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app ...>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
</web-app>
和dispatcher-servlet.xml:
<?xml version='1.0' encoding='UTF-8' ?>
<beans ...>
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<bean class="controllers.Controller"></bean>
<bean class="controllers.HomeController"></bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
</beans>
我删除了它将为索引视图创建一个简单的 in-xml (urlMapping) 控制器的部分,仅仅是因为索引页面也需要完成一些后端工作。
目前所有/ 请求都由Controller 类处理,而所有/home/ 请求都由HomeController 类处理(因为默认情况下,spring 会创建一个路径,因此控制器名称是主 url 路径对吧?)
我的问题是,有没有可能,如果有,我怎样才能让HomeController 类成为我的默认控制器。只是这样我实际上不必有 Controller 类。
对于那些熟悉 ASP.NET MVC 的人来说,我想要的是你是如何转到 site.com/Home/Index 或只是 site.com,这两个时间都引用同一个控制器。
我想创建它,以便 spring 自动将 site.com 连接到 HomeController 类中的路由。
我希望我已经足够清楚了。我会回答任何不清楚的问题,并欢迎任何答案或文件!谢谢!
【问题讨论】:
-
您不只是使用 Spring Boot 是否有特定原因?如果你这样做了,你只需将
@RequestMapping("/")放在方法上,不要考虑其他任何事情。 -
@chrylis 我知道,我开始使用 Spring Boot,但后来被告知我必须在没有它的情况下解决(配置是必须的)。这不是个人项目。
-
所以你有一个雇主积极坚持在新项目中使用过时的工具,甚至没有在使用依赖管理器时应用最佳实践?祝你好运。
-
@chrylis 直到下一份工作才会付钱 :) 但我知道你的意思......
-
如果你不打算使用 spring boot,没关系,但即使使用普通的 spring mvc,你也可以不用
web.xml和其他东西。 Spring 有一个很棒的文档,所以..
标签: java spring spring-mvc configuration routes