Java 为什么Spring MVC获得404?
我有一个简单的SpringMVC应用程序。我从报告中获得HTTP状态404。帮我解决这个问题。多谢各位 HTTP状态404–未找到 类型状态报告 Message/WEB-INF/users\u view.jsp 说明源服务器未找到当前表示形式 对于目标资源或不愿意披露其存在 ApacheTomcat/9.0.0.M26 我的控制器:Java 为什么Spring MVC获得404?,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个简单的SpringMVC应用程序。我从报告中获得HTTP状态404。帮我解决这个问题。多谢各位 HTTP状态404–未找到 类型状态报告 Message/WEB-INF/users\u view.jsp 说明源服务器未找到当前表示形式 对于目标资源或不愿意披露其存在 ApacheTomcat/9.0.0.M26 我的控制器: @Controller public class UserController { @RequestMapping(value = "/users", m
@Controller
public class UserController {
@RequestMapping(value = "/users", method = RequestMethod.GET)
public String showUsers(ModelMap model) {
return "users_view";
}
}
项目结构:
我的web.xml
:
<display-name>User</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Process application servlet -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在DispatcherServlet中,您提供了路径
/WEB-INF/
,但在应用程序中它是WEB-INF/view/
因此,在dispatcher servlet中将其更改为
/WEB-INF/view/
将解决问题因为您的jsp
位于WEB-INF/view
下,InternalResourceViewResolver
前缀指向/WEB-INF/
,所以您有一个404错误。要修复此问题,请将前缀更改为/WEB-INF/view/
InternalViewResolver出现问题
解决方案1:将前缀/WEB-INF/更改为/WEB-INF/view
解决方案2:从控制器返回字符串时,更改“用户\视图”
至“/查看/用户\查看”
如果您正在使用SpringMVC启动新项目,请尝试基于java的配置
提及
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation= "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"/>
</bean>
<context:component-scan base-package="ru.pravvich" />
</beans>