Java 每当我尝试部署SpringMVC应用程序时(从Intellij或通过将war文件复制到webapps),Tomcat7都会显示状态404

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

当我尝试部署(任何)SpringMVC应用程序时,Tomcat7总是显示404资源不可用的状态。此外,当我转到localhost:8080时,它会显示相同的消息,即使我重新启动了Windows。(非MVC应用程序仍然显示良好)

这是我的web.xml: { http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd“>

}

这只是一个简单的控制器:

@控制器 公共类家庭控制器{

@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>