我在阿帕奇Tomcat上设置了 Spring MVC 3. 0 & amp; hibernate, 并得到了无错误的启动程序 。
但我可以将我的(欢迎文件) redirect.jsp
的请求发送至家用控制器(/Home
)。
这就是应该发生的事情:
欢迎文件
redirect.jsp
发送请求, 使用我的家控制器 (
/ home home
) 返回index
的视图, 该视图在WEB-INF/views
中
这是我的
web.xml
:我通过注解和在web.xml
中绘制了家用控制器(/Home
),但至今尚未找到。
<?xml version="1.0" encoding="UTF-8"?& gt; 的 & gt;
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"& gt; 的 & gt;
<context-param& gt; 的 & gt;
<param-name& gt; 的 & gt;contextConfigLocation</param-name& gt; 的 & gt;
<param-value& gt; 的 & gt;/WEB-INF/applicationContext.xml</param-value& gt; 的 & gt;
</context-param& gt; 的 & gt;
<listener& gt; 的 & gt;
<listener-class& gt; 的 & gt;org.springframework.web.context.ContextLoaderListener</listener-class& gt; 的 & gt;
</listener& gt; 的 & gt;
<servlet& gt; 的 & gt;
<servlet-name& gt; 的 & gt;app</servlet-name& gt; 的 & gt;
<servlet-class& gt; 的 & gt;org.springframework.web.servlet.DispatcherServlet</servlet-class& gt; 的 & gt;
<load-on-startup& gt; 的 & gt;1</load-on-startup& gt; 的 & gt;
</servlet& gt; 的 & gt;
<servlet-mapping& gt; 的 & gt;
<servlet-name& gt; 的 & gt;app</servlet-name& gt; 的 & gt;
<url-pattern& gt; 的 & gt;/</url-pattern& gt; 的 & gt;
</servlet-mapping& gt; 的 & gt;
<servlet& gt; 的 & gt;
<servlet-name& gt; 的 & gt;Home</servlet-name& gt; 的 & gt;
<servlet-class& gt; 的 & gt;com.app.controller.spring.HomeController</servlet-class& gt; 的 & gt;
</servlet& gt; 的 & gt;
<servlet-mapping& gt; 的 & gt;
<servlet-name& gt; 的 & gt;Home</servlet-name& gt; 的 & gt;
<url-pattern& gt; 的 & gt;/Home</url-pattern& gt; 的 & gt;
</servlet-mapping& gt; 的 & gt;
<session-config& gt; 的 & gt;
<session-timeout& gt; 的 & gt;
30
</session-timeout& gt; 的 & gt;
</session-config& gt; 的 & gt;
<welcome-file-list& gt; 的 & gt;
<welcome-file& gt; 的 & gt;redirect.jsp</welcome-file& gt; 的 & gt;
</welcome-file-list& gt; 的 & gt;
</web-app& gt; 的 & gt;
这是我的 application-context.xml
片段 :
<!--bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" /& gt; 的 & gt;--& gt; 的 & gt;
<!-- Activates various annotations to be detected in bean classes --& gt; 的 & gt;
<context:annotation-config /& gt; 的 & gt;
<!-- Scans the classpath for annotated components that will be auto-registered as Spring beans. For example @Controller and @Service. Make sure to set the correct base-package--& gt; 的 & gt;
<context:component-scan base-package="com.yourmarketnet.mvc" /& gt; 的 & gt;
<!-- Configures the annotation-driven Spring MVC Controller programming model. Note that, with Spring 3.0, this tag works in Servlet MVC only! --& gt; 的 & gt;
<mvc:annotation-driven /& gt; 的 & gt;
<!-- mapping of static resources--& gt; 的 & gt;
<mvc:resources mapping="/resources/**" location="/resources/" /& gt; 的 & gt;
<import resource="hibernate-context.xml" /
& gt; 的 & gt;
这是我的app-servlet
:
<?xml version="1.0" encoding="UTF-8"?& gt; 的 & gt;
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"& gt; 的 & gt;
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/& gt; 的 & gt;
<!--
Most controllers will use the ControllerClassNameHandlerMapping above, but
for the index controller we are using ParameterizableViewController, so we must
define an explicit mapping for it.
--& gt; 的 & gt;
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"& gt; 的 & gt;
<property name="mappings"& gt; 的 & gt;
<props& gt; 的 & gt;
<prop key="index.htm"& gt; 的 & gt;indexController</prop& gt; 的 & gt;
</props& gt; 的 & gt;
</property& gt; 的 & gt;
</bean& gt; 的 & gt;
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/views/" p:suffix=".jsp" p:viewClass="org.springframework.web.servlet.view.JstlView" /& gt; 的 & gt;
<!--
The index controller.
--& gt; 的 & gt;
<bean name="indexController"
class="org.springframework.web.servlet.mvc.ParameterizableViewController"
p:viewName="index" /& gt; 的 & gt;
</beans& gt; 的 & gt;
然而,我得到了一个 404
错误,
请求的资源 (
/ home
) 不存在 。
我其实想做的是删除 redirect.jsp
,让应用程序转到 启动/启动
上的 ome
控制器,而 home
控制器返回索引视图或任何其他视图。