Http Status 404 Eclipse项目错误

时间:2017-02-10 19:50:03

标签: java spring jsp

我试图学习如何在服务器上运行Spring MVC项目,并且我收到了http 404错误..我正在使用Eclipse Luna 4.4.1,Tomcat 8 我看不到错误。

控制器类

    package com.spring.controller;

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

    @Controller
    public class OffersController {

        @RequestMapping("/")
        public String showHome() {
            return "home";
        }
    }

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>Insert title here</title>
    </head>
    <body>
    Hi there!
    </body>
    </html>

Ther Servlet

    <?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:mvc="http://www.springframework.org/schema/mvc"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/mvc         http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
            http://www.springframework.org/schema/beans         ://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context                 http://www.springframework.org/schema/context/spring-context-3.2.xsd">


        <context:component-scan base-package="com.maurice.controllers">
        </context:component-scan>
        <mvc:annotation-driven></mvc:annotation-driven>

        <bean id="jspViewResolver"
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsps/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
    </beans>

Web.xml中

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" 
    version="2.5">

     <display-name>Own2</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>
      <servlet>
        <description></description>
        <display-name>offers</display-name>
        <servlet-name>offers</servlet-name>
        <servlet-        class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>offers</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>

1 个答案:

答案 0 :(得分:0)

根据错误消息,您似乎没有在Tomcat中定义上下文。

将名为 context.xml 的文件包含在META-INF文件夹中,内容为:

<?xml version="1.0" encoding="UTF-8"?>

<Context path="/Own2"/>

来自tomcat文档:

Tomcat Context Container Documentation

  

可以明确定义单个上下文元素:

     

在应用程序内的/META-INF/context.xml中的单个文件中   文件。可选地(基于主机的copyXML属性),这可以是   复制到$ CATALINA_BASE / conf / [enginename] / [hostname] /并重命名为   应用程序的基本文件名加上&#34; .xml&#34;扩展