Spring RequestMapping 404 ошибка?
Как исправить ошибку 404, Запрашиваемый ресурс недоступен.
viewResolver из dispatcher-servlet.xml
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/" p:suffix=".jsp">
</bean>
@RequestMapping("/Locations/edit/{locationId}")
public void edit(@PathVariable String locationId,ModelMap map) {
Locations location=new Locations();
location=locationsService.getByID(Integer.parseInt(locationId));
map.put("location", location);
}
ошибка HTTP Status 404 - /DoctorsBeta/WEB-INF/Locations/edit/1.jsp description Запрашиваемый ресурс недоступен.
2 ответа
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsps/" p:suffix=".jsp">
</bean>
@RequestMapping("/Locations/edit/{locationId}")
public String edit(@PathVariable String locationId,ModelMap map) {
Locations location=new Locations();
location=locationsService.getByID(Integer.parseInt(locationId));
map.put("location", location);
reutrn "nameOfYourJspFileHere";
}
РЕДАКТИРОВАТЬ Я только что понял, что ваше имя JSP не 1, и это идентификатор, поэтому, когда вы отправляете / Locations / Edit / 1
Обратите внимание, что все ваши jsps должны находиться в /WEB-INF/ (но я предлагаю добавить какую-то другую папку (jsps,views или что-то, что указывает на наличие jsp-файлов) dir, поэтому, когда вы возвращаете имя представления, к нему добавляются префикс и суффикс Таким образом, в папке jsps могут быть вложенные папки, поэтому каждый раз, когда вы возвращаете имя представления, убедитесь, что оно находится в правильном пути, например, view name = index.jsp(/WEB-INF/jsps/common/index.jsp), поэтому в вашем методе вы могли бы вернуть "common/index"
Надеюсь, поможет.
Метод Void не возвращает ни на одну страницу jsp. Либо вы должны вернуть строку ("имя jsp"), либо ModelAndView страницы.
@RequestMapping("/Locations/edit/{locationId}")
public String edit(@PathVariable String locationId,ModelMap map) {
Locations location=new Locations();
location=locationsService.getByID(Integer.parseInt(locationId));
map.put("location", location);
return "test";
}
Если это будет отображаться так
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsps/"
// test
p:suffix=".jsp">
</bean>
Будет искать /WEB-INF/jsps/test.jsp