Весенний проект в Затмении - 404 - PullRequest
1 голос
/ 31 октября 2011

Я пытаюсь запустить приложение на Tomcat, но получаю сообщение об ошибке «Запрошенный ресурс (/ testapp /) недоступен». - что может быть не так? Я предполагаю, что мои настройки XML неверны, но я не уверен, как это исправить.

диспетчер-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:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="controller" />

    <mvc:view-controller path="/" view-name="HelloWorldPage" />

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

</beans>

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"
    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" version="2.5">

    <display-name>Spring Web MVC Application</display-name>

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

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

</web-app>

HelloWorldController.java - использование аннотаций Spring.

package controller;

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
@RequestMapping("/welcome")
public class HelloWorldController {

    @RequestMapping(method = RequestMethod.GET)
    public ModelAndView helloWorld() {

        ModelAndView model = new ModelAndView("HelloWorldPage");
        model.addObject("msg", "hello world");

        return model;
    }
}

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

в вашем web.xml вы сопоставляете spring с * .htm, но ваш контроллер отображается на

@RequestMapping("/welcome")

Вы должны отобразить на

@RequestMapping("/welcome.htm")
0 голосов
/ 31 октября 2011

Если вы не получаете никаких исключений на консоли Eclipse, я думаю, что вы, вероятно, не используете правильный contextRoot вашего проекта, в основном это точное имя вашего приложения, но иногда оно отличается ...

Если вы не вводите название приложения неправильно, попробуйте это.

Нажмите на проект правой кнопкой мыши, нажмите на свойства.

Затем найдите контекст.

вы найдете раздел под названием ContextRoot

Используйте строку в этом поле для монтирования вашего Contextroot следующим образом

локальный: 8080 / stringFound /

и нажмите Enter в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...