내 프로젝트에 스프링 mvc3를 사용하고, 내가 요청 매핑 패턴 (URL의 마지막 슬래시)요청 매핑 URL 패턴
예를 들어 다음과 같이 컨트롤러의 방법을 가지고와 혼란 스러워요 :
@RequestMapping(value = "/{id}/edit", method = RequestMethod.GET)
public String edit(@PathVariable int id, Model model) {
model.addAttribute(postDao.query(id));
return "posts/edit";
}
URL이 ""일 때 작동하지만, URL이 "http://localhsot/app/posts/3/edit/
"이면 방법을 사용할 수 없습니다.
는 나는이 같은 요청 매핑 값을 설정할 수 있습니다 알고
@RequestMapping(value = {"/{id}/edit","/{id}/edit/"})
을하지만 다른 해결책이 궁금해? 레일이 URL의 마지막 슬래시를 무시하는 것 같습니다.
UPDATE :
서블릿의 context.xml :
<mvc:annotation-driven />
<mvc:view-controller path="/" view-name="home" />
<context:component-scan base-package="com.king.controller" />
<mvc:resources mapping="/res/**" location="/res/" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
web.xml을
<filter>
<filter-name>httpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpMethodFilter</filter-name>
<servlet-name>modelServlet</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>modelServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>modelServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
나는 봄 mvc3을 사용하고 있으며 URL의 끝에 "/"가있을 때 동일한 매핑 방법을 사용하고 있습니다. 나는 이것을 성취하기 위해 특별한 것을 사용하는 것을 기억하지 않는다. 어떤 서버를 사용하고 있습니까? web.xml 파일을 게시 할 수 있습니까? – jelies