Java 每当我尝试部署SpringMVC应用程序时(从Intellij或通过将war文件复制到webapps),Tomcat7都会显示状态404
当我尝试部署(任何)SpringMVC应用程序时,Tomcat7总是显示404资源不可用的状态。此外,当我转到localhost:8080时,它会显示相同的消息,即使我重新启动了Windows。(非MVC应用程序仍然显示良好) 这是我的web.xml: { http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd“> } 这只是一个简单的控制器: @控制器 公共类家庭控制器{Java 每当我尝试部署SpringMVC应用程序时(从Intellij或通过将war文件复制到webapps),Tomcat7都会显示状态404,java,spring,spring-mvc,tomcat,intellij-idea,Java,Spring,Spring Mvc,Tomcat,Intellij Idea,当我尝试部署(任何)SpringMVC应用程序时,Tomcat7总是显示404资源不可用的状态。此外,当我转到localhost:8080时,它会显示相同的消息,即使我重新启动了Windows。(非MVC应用程序仍然显示良好) 这是我的web.xml: { http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd“> } 这只是一个简单的控制器: @控制器 公共类家庭控制器{ @RequestMapping(value = "/") public S
@RequestMapping(value = "/")
public String home() {
return "test";
}
}
项目目录结构:
尝试将视图解析器配置更改为此,我认为您设置错误
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setPrefix("/WEB-INF/");
internalResourceViewResolver.setSuffix(".jsp");
return internalResourceViewResolver;
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_2_5.xsd"
version="2.5">
<display-name>Spring MVC Hello World</display-name>
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
Spring MVC Hello World
/
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
/
上下文配置位置
/WEB-INF/spring-servlet.xml
org.springframework.web.context.ContextLoaderListener
尝试将视图解析器配置更改为此,我认为您设置错误
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setPrefix("/WEB-INF/");
internalResourceViewResolver.setSuffix(".jsp");
return internalResourceViewResolver;
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_2_5.xsd"
version="2.5">
<display-name>Spring MVC Hello World</display-name>
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
Spring MVC Hello World
/
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
/
上下文配置位置
/WEB-INF/spring-servlet.xml
org.springframework.web.context.ContextLoaderListener
问题出在Intellij IDEA中,它无法正确配置Spring MVC设置并正确连接项目的所有部分
在创建了新的SpringMVC项目之后,它工作得很好
另外,Tomcat也有问题。在一系列失败的尝试导致404响应后,Tomcat似乎开始每次都显示相同的响应(即使对于localhost:8080,即使在重新启动计算机之后…)因此,我也重新安装了Tomcat,然后它工作正常。问题出在Intellij IDEA中,它无法正确配置Spring MVC设置并正确连接项目的所有部分 在创建了新的SpringMVC项目之后,它工作得很好
另外,Tomcat也有问题。在一系列失败的尝试导致404响应后,Tomcat似乎开始每次都显示相同的响应(即使对于localhost:8080,即使在重新启动计算机之后…)。因此,我也重新安装了Tomcat,然后它工作正常。共享您的项目目录structure@shi添加了structureShare要复制的示例项目,以便我们可以验证所有配置。是否检查了tomcat日志?是否能够连接db?共享项目目录structure@shi添加了要复制的示例项目的structureShare这样我们就可以验证所有的配置。你检查过tomcat日志了吗?你能连接db吗?它没有
“/WEB-INF/“
因为test.jsp文件不在WEB-INF中。但我移动了test.jsp,并按照您的建议进行了尝试,但仍然没有发现您的WEB.xml也有错误。请使用我更新的答案并检查。谢谢您的帮助。我的Intellij想法似乎没有正确配置Spring MVC,所以在我创建了一个全新的Spring MVC项目后,它开始正常工作,没有“/WEB-INF/”
,因为test.jsp文件不在WEB-INF中。但我移动了test.jsp并按照您的建议进行了尝试,但您的WEB.xml仍然没有任何错误。请使用我更新的答案并检查。谢谢您的帮助。我的Intellij想法似乎没有正确配置SpringMVC,所以在我创建了一个全新的SpringMVC项目之后,它开始正常工作
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_2_5.xsd"
version="2.5">
<display-name>Spring MVC Hello World</display-name>
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>