ВЕСНА 3 MVC - ошибка шаблона URI? - PullRequest
0 голосов
/ 12 мая 2011

Вот код для моего класса контроллера:

package edu.byu.cio.test.web.Controller;

import org.springframework.stereotype.Controller;

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

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;


/**
 * Handles requests for the application home page.
 */


@Controller
 public class HomeController {

@RequestMapping(value = "/")

 public String helloWorld() {

 System.out.println("HomeController: Passing through...");

 return "WEB-INF/views/home.jsp";
 }


@RequestMapping(value="/name/{Name}", method = RequestMethod.GET)

 public String compare(@PathVariable("Name") String Name) {

 return "WEB-INF/views/home.jsp";

 }


}

Я заинтересован в вызове второго метода.

Когда я делаю запрос на получение как:

http://localhost:8081/mvc-basic/name/somename

Примечание : я настроил его на прослушивание через порт 8081.

Я получаю следующую ошибку:

HTTP Status 404 - /mvc-basic/name/WEB-INF/views/home.jsp

--------------------------------------------------------------------------------

type Status report

message /mvc-basic/name/WEB-INF/views/home.jsp

description The requested resource (/mvc-basic/name/WEB-INF/views/home.jsp) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.26

Я думаю, что шаблон URI правильный, но мне интересно, почему он показывает эту ошибку. Вы найдете какие-либо ошибки в приведенном выше коде? Я ценю вашу помощь.

Ответы [ 2 ]

1 голос
/ 26 августа 2012

Я столкнулся с этой проблемой, когда впервые работал над пакетом Spring Source Tool. После такой большой борьбы я понял, что проблема с классом контроллера не самая последняя.

Когда я впервые написал подобный фрагмент кода, я не использовал переменную шаблона URI и развернул его на сервере tc. позже я добавил шаблон URI и повторно опубликовал / перезапустил сервер много раз, думая, что класс контроллера будет создан автоматически.

Позже я обнаружил, что запускаю проект с отключенной опцией «Автоматически строить» в меню «Проект».

Пожалуйста, убедитесь, что вы отметили «Автоматически строить», если вы используете STS или какие-либо инструменты на основе затмения, и убедитесь, что вы развернули последний класс Controller.

0 голосов
/ 12 мая 2011

Вам необходимо опубликовать ваш bean-компонент viewResolver из файла контекста * -servlet.xml, но, скорее всего, у вашего преобразователя представления определен суффикс ".jsp", поэтому вам не нужно его указывать.Корневым каталогом для ваших JSP также будет по умолчанию значение /WEB-INF.

Вместо того, чтобы возвращать «WEB-INF / views / home.jsp» в вашем контроллере, попробуйте вернуть «views / home».

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