2017-04-25 73 views
0

這裏是我的代碼文件(web.xml)不盡,春風吹又解決了404(如何解決)

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

    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/WEB-INF/pages/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

這裏是我的配置文件

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

    <context:component-scan base-package="com.srccodes.spring.controller" /> 
    <mvc:annotation-driven /> 


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

</beans> 

的pom.xml

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>HelloWorld</groupId> 
    <artifactId>HelloWorld</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>HelloWorld Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
     <org.springframework.version>3.1.2.RELEASE</org.springframework.version> 
    </properties> 

    <dependencies> 
     <!-- Spring MVC depends on spring-core, spring-beans, spring-context, spring-web --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <finalName>SpringMVCHelloWorld</finalName> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
     </plugins> 
     </build> 

</project> 

我的控制器類

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

    @Controller 
     public class SpringMVCHelloController { 

      @RequestMapping("/") 
      public String printHelloWorld(Model model) { 
       model.addAttribute("message", "Hello World!"); 

       return "helloWorld"; 
      } 
     } 
+2

什麼是確切的問題,你有什麼嘗試,什麼失敗?根據標題判斷,您收到的頁面未找到錯誤 - 但請添加更多詳細信息並澄清您的問題。 – ttarczynski

回答

0

有三件事情你的應用程序開始工作改變。

添加包聲明TP SpringMVCHelloController:

package com.srccodes.spring.controller; 

沒有包聲明,該控制器使用默認的包,並不會同時組件掃描被發現。

添加視圖文件/WEB-INF/pages/helloWorld.jsp,例如:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored ="false"%> 

<!DOCTYPE html> 
<html> 
<head> 
    <title>My page</title> 
</head> 
<body> 
    Message: ${message} 
</body></html> 

不認爲,將會有什麼可顯示。

變化 Servlet映射你的dispatcher的servlet url-pattern的到:

<url-pattern>/</url-pattern> 

因此請求將正確派往你SpringMVCHelloController,並返回視圖將被正確解析和處理。