복붙노트

[SPRING] 스프링 MVC; URL에서 파일 확장을 피 하시겠습니까?

SPRING

스프링 MVC; URL에서 파일 확장을 피 하시겠습니까?

스프링 웹 MVC로 시작했습니다. 나는 URL에서 파일 확장자를 피하려고 노력하고있다. 내가 어떻게 할 수 있니? (저는 Spring 2.5.x를 사용하고 있습니다)

콩:

<bean name="/hello.htm" class="springapp.web.HelloController"/>

나는 그것을 원한다 :

<bean name="/hello" class="springapp.web.HelloController"/>

나는 그것을 작동시킬 수 없다. 어떤 아이디어?

편집하다:

URL 매핑

<servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>*.htm</url-pattern>
</servlet-mapping>

나는 행운 (* 및 / *)로 URL 패턴을 변경하려고 시도했다.

해결법

  1. ==============================

    1.

    <servlet>
        <servlet-name>spring-mvc</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>spring-mvc</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    

    그런 다음 특정 컨트롤러가 처리 할 수 ​​있도록 URL을 등록해야합니다. 다음보기

    http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

  2. ==============================

    2.3.0에서는 / 작동하는 것 같습니다. 그건...

    3.0에서는 / 작동하는 것 같습니다. 그건...

    <url-pattern>/</url-pattern>
    
  3. ==============================

    3.내가 아는 한 컨트롤러에 대한 JSP 뷰를 사용하는 경우에는이 작업을 수행 할 수 없습니다.

    내가 아는 한 컨트롤러에 대한 JSP 뷰를 사용하는 경우에는이 작업을 수행 할 수 없습니다.

    모델을 JSP로 전달할 때, Spring MVC는 내부적으로 JSP의 URL로 'forward'를 수행하기 때문이다. / * 을 사용하면이 전달은 JSP보기가 아닌 DispatcherServlet에 의해 처리됩니다.

    할 수있는 일은 / something 을 사용하고 다른 디렉토리에 JSP를 넣는 것입니다

  4. ==============================

    4.적어도 3.2에서, 허용 된 대답은 거의 비슷하지만 필요한 것은 아닙니다. 아래의 web.xml 비트는 저에게 도움이되었습니다. 다음 번에 googles를 참조 할 수 있도록 여기에 스레드에 추가하고 있습니다.

    적어도 3.2에서, 허용 된 대답은 거의 비슷하지만 필요한 것은 아닙니다. 아래의 web.xml 비트는 저에게 도움이되었습니다. 다음 번에 googles를 참조 할 수 있도록 여기에 스레드에 추가하고 있습니다.

    <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>/</url-pattern>
    </servlet-mapping>
    
  5. ==============================

    5.먼저 시도해보십시오.

    먼저 시도해보십시오.

    <servlet-mapping>
            <servlet-name>spring-mvc</servlet-name>
            <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    

    문제가 해결되지 않으면 문제가 해결됩니다. 아파치가이 URL들을 Tomcat에 전달하도록 설정되어 있습니까? 같은 것 :

    JkMount /hello worker1
    
  6. ==============================

    6. / * 을 시도해 보셨습니까?  서블릿 매핑에서 ?

    / * 을 시도해 보셨습니까?  서블릿 매핑에서 ?

  7. from https://stackoverflow.com/questions/1399487/spring-mvc-avoiding-file-extension-in-url by cc-by-sa and MIT license