Из Официального документа Spring Spring 3 MVC надеется быть Отображением Запроса вложения поддержки. страница 448 http://static.springsource.org/spring/docs/3.0.0.RELEASE/spring-framework-reference/pdf/spring-framework-reference.pdf In, они упомянули:
@Controller
@RequestMapping("/appointments")
public class AppointmentsController {
//...
@RequestMapping(value="/new", method = RequestMethod.GET)
public AppointmentForm getNewForm() {
return new AppointmentForm();
}
//...
}
(Я устранил некоторый код для удобочитаемости) В таком случае, они утверждали что запрос к /appoinments/new
вызовет getNewForm
метод. Однако это не работает с моим локальным сервером Google App Engine (хотя сервер GAE работает просто великолепно с отображением, которые не вкладываются). Я создаю контроллер в качестве примера как ниже:
@Controller
@RequestMapping("/basic.do")
public class HelloWorldController {
@RequestMapping(value="/hello", method=RequestMethod.GET)
public ModelAndView helloWorld() {
ModelAndView mav = new ModelAndView();
mav.setViewName("basic/helloWorld");
mav.addObject("message", "Hello World From Phuong!");
return mav;
}
}
но запрос к /basic.do/hello
всегда результаты по 404 ошибкам.
Удивление, если что-то не так там? Я использую управляемый аннотацией режим с *.do
запрос обработан к пружине DispatchServlet
.
попробуйте это
@Controller
@RequestMapping("/basic")
public class HelloWorldController {
@RequestMapping(value="/hello.do", method=RequestMethod.GET)
public ModelAndView helloWorld() {
ModelAndView mav = new ModelAndView();
mav.setViewName("basic/helloWorld");
mav.addObject("message", "Hello World From Phuong!");
return mav;
}
}
и попробуйте с помощью basic/hello.do
url
Причина в том, что /basic.do/hello
не будет обрабатываться вашим сервлет-диспетчером, так как это не URL, который заканчивается на .do
BTW, .html расширения лучше, чем .do, IMHO
.