繁体   English   中英

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

[英]Tomcat 7 displays status 404 whenever I try to deploy Spring MVC application (from Intellij or by copying war file to webapps)

当我尝试部署(任何)Spring MVC应用程序时,Tomcat 7始终显示状态404资源不可用。 此外,当我转到localhost:8080时,它显示相同的消息,即使我重新启动了Windows。 (非MVC应用仍然被罚款)。

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

   <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>src/webapp/WEB-INF/spring-servlet.xml</param-value>
   </context-param>
   <listener>
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

}

为spring-servlet.xml:

<?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">

   <context:component-scan base-package="hr.altima"/>

</beans>

AppConfig.java:

@Configuration
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter{

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
    internalResourceViewResolver.setPrefix("/");
    internalResourceViewResolver.setSuffix(".jsp");
    return internalResourceViewResolver;
}

@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    configurer.enable();
}

}

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

@Controller public class HomeController {

@RequestMapping(value = "/")
public String home() {
    return "test";
}

}

项目目录结构: Spring MVC Project http://puu.sh/ueJxx/931682696d.png

尝试将视图解析器配置更改为此,我认为您设置错误。

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

问题出在Intellij IDEA中,它无法正确配置Spring MVC设置并正确连接项目的所有部分。

在创建新的Spring MVC项目之后,它运行良好。

此外,Tomcat存在问题。 似乎在一系列导致404响应的不成功尝试之后,Tomcat每次都开始显示相同的响应(即使对于localhost:8080,即使在重新启动计算机之后......)。 所以我也重新安装了Tomcat,然后它工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM