我在Tomcat中使用Spring MVC,我认为是标准配置。 web.xml看起来像这样:
<servlet>
<servlet-name>acme</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/appServlet/acme-spring.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>acme</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
使用Spring acme-spring.xml,我将view-controller标记设置为根路径:
<mvc:view-controller path="/" view-name="login.jsp"/
和网站解析器代码:
<bean id="siteResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
但是,当我点击localhost:8080 / acme时,我本来期望login.jsp,但是我收到了一个无效的URL错误。我看了HTTP Status 404 on Spring 3.1 MVC app和HTTP Status 404 on Spring 3.1 MVC app,但没有快乐。
关于我错误配置的想法?
答案 0 :(得分:0)
你的标签应该是这样的
<mvc:view-controller path="/" view-name="login"/>
因为veiwResolver会关注前缀和后缀。
答案 1 :(得分:0)
如果您只使用上下文路径访问它, 那么你应该在你的web-xml中提到你的欢迎文件列表 或者您应该直接访问您想要在启动时显示的任何欢迎或jsp。 1.首先添加以下行或点击localhost:8080 / acme / Login.jsp而不是命中localhost:8080 / acme
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
2。添加servlet名称映射,如:
<servlet>
<servlet-name>app_name</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
添加servlet URL映射:
APP_NAME * .do //您可以根据自己的要求编写网址格式。
检查并告诉我您是否面临任何其他例外情况.. !!