希望您能提供帮助,因为据我所知,这是正确设置的(但请证明我错了)。
我的 spring 3 mvc 项目配置如下:
web.xml
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/frontPage</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/myServlet-service.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
和 myServlet-servlet.xml
<mvc:annotation-driven />
<context:component-scan base-package="my.path.to.controllers" />
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
我在 WEB-INF(不是 WEB-INF/views)中有一个 index.jsp,它只不过是说“你好”(我最初试图让它转发到 /frontPage)。
现在,如果我输入控制器的 url (localhost:8080/myServlet/frontPage),控制器工作并显示视图,但是当我第一次启动时,我得到一个 404 而不是 index.jsp 页面。我尝试在 index.jsp 中添加一个前导斜杠,但这没有任何区别。
我一定是在某个地方犯了一个小学生的错误,但我这辈子都不知道在哪里。任何人都可以为我指出吗?
在 STS 2.9.1 servlet 2.5 中运行的 Spring MVC 3.2 Tomcat 6
非常感谢。