Привет, я создал приложение Spring MVC, у меня есть контроллер под названием Оценка с помощью двух методов.Spring MVC restful path
я могу получить доступ к методу домой этот контроллер, перейдя в этот адрес www.wesite.com/xyz/estimation
, но я пытаюсь получить доступ homeById метода, перейдя на эту ссылку www.wesite.com/xyz/estimation/1 Я получаю ошибку 404, запрашиваемый ресурс недоступен.
может любой корпус пролить свет на него.
@Controller
@RequestMapping("/estimation")
public class EstimationController {
@RequestMapping("")
public ModelAndView home(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mv = new ModelAndView("productEstimate");
return mv;
}
@RequestMapping(value="/{productId}", method = RequestMethod.GET)
public ModelAndView homeById(HttpServletRequest request, HttpServletResponse response,@PathVariable int productId) {
ModelAndView mv = new ModelAndView("productEstimate");
return mv;
}
web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/classes/spring/applicationContext.xml,
WEB-INF/classes/spring/hibernateContext.xml
</param-value> </context-param>
<servlet>
<servlet-name>projectName</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>projectName</servlet-name>
<url-pattern>/estimation/*</url-pattern>
</servlet-mapping>
applicationContext.xml
<mvc:annotation-driven />
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/views/" />
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="layoutUrl" value="layout.vm"/>
<property name="suffix" value=".vm"/>
</bean>
Вы можете получить эту ошибку и, если отображение не совпадают или если представление не может быть отображено (но я вижу, что вы используете одно и то же представление для обоих запросов, поэтому, если первое работает, то и второе). Посмотрите, есть ли у вас ошибка типа «ПРЕДУПРЕЖДЕНИЕ: нет сопоставления для HTTP-запроса с URI» – namero999