2015-12-04 1 views
0

Мне нужно запустить этот проект только весной 3. Я не могу использовать весеннюю загрузку или любой другой стек технологий.Ошибка сопоставления диспетчерских сервлетов весной 3

Я попытался написать приложение простого мира привет, но я получаю ошибку 404.

Мои файлы, как показано ниже.

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"> 
    <welcome-file-list> 
     <welcome-file>index.jsp</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> 
</web-app> 

пружинно-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    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.2.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.2.xsd"> 

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

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

HelloWorldController.java

package com.hpe; 

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

@Controller 
public class HelloWorldController { 

    @RequestMapping(value = "/hello", method = RequestMethod.GET) 
    public ModelAndView sayHello() { 
     String message = "Hello World, Spring 3.0!"; 
     return new ModelAndView("hello", "message", message); 
    } 
} 

hello.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> 
     <h1>Hello World</h1>  
    </body> 
</html> 

Всякий раз, когда я пытаюсь получить доступ к localhost: 8080/{context-name}/hello, я получаю ошибку 404.

+0

На каком сервере вашего развертывании? Каков ваш контекстный путь? –

+0

Я развертываю на сервере tomcat 7. Мой контекстный путь: «HPAssignment» – Rammohan

+0

tomcat настроен в eclipse? или автономно? –

ответ

0

Вы пытаетесь это просто и сказать мне, что она работает YAA не

@RequestMapping(value = "/hello", method = RequestMethod.GET) 
    public String sayHello() { 
     return "hello"; 
    } 
+0

нет это не работает – Rammohan

+0

почему это сработает? – SpringLearner

+0

@SpringLearner - Не могли бы вы рассказать мне, где ошибка в коде. – Rammohan

0

Добавить @RequestMapping("/") уровня класса аннотацию на HelloWorldController.

+0

все еще не работает. – Rammohan

+0

Является ли ваш contextPath правильным? Это то, что вы установили в 'eclipse -> tomcat -> modules -> Path'. И какова полная ошибка, которую вы получаете? –

+0

, а также убедитесь, что ваш 'hello.jsp' находится в папке' WEB-INF/jsp' –

0

Код выглядит корректно для меня. Попробуйте

1) проверки вашего контекста корня ->http://localhost:8090/%nameofwar %/привет

2) проверить, если война становится построен правильно. Проверьте, все ли необходимые артефакты, такие как web.xml, JSP, .class, .xml есть в нужном месте

3) развернуть в автономном сервере Tomcat и проверить

Смежные вопросы