繁体   English   中英

请求的资源不适用于tomcat8 deploy

[英]The requested resource is not available with tomcat8 deploy

每次我收到消息“请求的资源不可用”。 我在Spring框架中创建了一个Maven项目。 它的构建成功,但是当我想执行tomcate7或tomcate8时,给出了同样的错误。 Java版本是1.8。 它愚蠢的示例代码,我不知道为什么我收到这个错误。

这是代码片段:

1.POM XML:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>

        <groupId>AquaEPP</groupId>
        <artifactId>AquaEPP</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>

        <name>AquaEPP</name>
        <url>http://maven.apache.org</url>

        <properties>
            <java.version>1.8</java.version>
            <spring.version>3.1.0.RELEASE</spring.version>
            <cglib.version>2.2.2</cglib.version>
        </properties>

        <dependencies>
            <!-- Spring core & mvc -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring.version}</version>
                <type>jar</type>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>

            <!-- CGLib for @Configuration -->
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib-nodep</artifactId>
                <version>${cglib.version}</version>
                <scope>runtime</scope>
            </dependency>


            <!-- Servlet Spec -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.4</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
                <scope>provided</scope>
            </dependency>
             <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.7.0</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.0</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.7.0</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.14</version>
            </dependency>
        </dependencies>

        <repositories>
            <repository>
                <id>springsource-milestones</id>
                <name>SpringSource Milestones Proxy</name>
                <url>https://oss.sonatype.org/content/repositories/springsource-milestones</url>
            </repository>
        </repositories>

        <build>
            <finalName>AquaEPP</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>2.19.1</version>
                        <configuration>
                            <testFailureIgnore>true</testFailureIgnore>
                        </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
  1. WEB.XML

      <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>AquaEPP</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextClass</param-name> <param-value> org.springframework.web.context.support.AnnotationConfigWebApplicationContext </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>SpringDispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextClass</param-name> <param-value> org.springframework.web.context.support.AnnotationConfigWebApplicationContext </param-value> </init-param> <init-param> <param-name>contextConfigLocation</param-name> <param-value>com.exp.aqua</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>SpringDispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app> 

3.控制器类

        package com.exp.aqua.controller;

        import java.io.IOException;

        import javax.servlet.http.HttpServletResponse;

        import org.springframework.stereotype.Controller;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.servlet.ModelAndView;

        @Controller
        public class HomeController {

            @RequestMapping(value="/home")
            public ModelAndView test(HttpServletResponse response) throws IOException{
                return new ModelAndView("home");
            }
        }

4.MvcConfiguration类

            package com.exp.aqua.config;

            import org.springframework.context.annotation.Bean;
            import org.springframework.context.annotation.ComponentScan;
            import org.springframework.context.annotation.Configuration;
            import org.springframework.web.servlet.ViewResolver;
            import org.springframework.web.servlet.config.annotation.EnableWebMvc;
            import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
            import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
            import org.springframework.web.servlet.view.InternalResourceViewResolver;

            @Configuration
            @ComponentScan(basePackages="com.exp.aqua")
            @EnableWebMvc
            public class MvcConfiguration extends WebMvcConfigurerAdapter{

                @Bean
                public ViewResolver getViewResolver(){
                    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
                    resolver.setPrefix("/WEB-INF/views/");
                    resolver.setSuffix(".jsp");
                    return resolver;
                }

                @Override
                public void addResourceHandlers(ResourceHandlerRegistry registry) {
                    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
                }


            }

5.index.jsp

            <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
                pageEncoding="ISO-8859-1"%>
            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
            <html>
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
            <title>Spring Demo</title>
            </head>
            <body>
            <br>
                <div style="text-align:center">
                    <h2>
                        Hey You..!! This is your 1st Spring MCV Tutorial..<br> <br>
                    </h2>
                    <h3>
                        <a href="home.jsp">Click here to See Welcome Message... </a>(to
                        check Spring MVC Controller... @RequestMapping("/welcome"))
                    </h3>
                </div>
            </body>
            </html>
  1. 针对home.jsp

      <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Home</title> </head> <body> <h1>Hello World!</h1> <p>This is the homepage!</p> </body> </html> 

我认为您的tomcat没问题,对我有用:

1.-在项目上单击鼠标右键->属性->部署程序集->添加-> Java构建路径条目-> Maven依赖关系

2.-在您的MvcConfiguration中, @ComponentScan MvcConfiguration的basePackages必须是com.exp.aqua.controller

3.-在index.jsp移除href属性中的.jsp扩展名: <a href="home">

最后,请记住, index.jsp必须位于WebContent文件夹中,而home.jsp必须位于views

在此处输入图片说明

暂无
暂无

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

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