복붙노트

[SPRING] 봄 - 한 URL을 다른 URL로 다시 작성하십시오.

SPRING

봄 - 한 URL을 다른 URL로 다시 작성하십시오.

나는 Flash 배너가 포함 된 Spring 2.5 애플리케이션을 가지고있다. Flash 구성 요소의 소스가 없지만 .html로 끝나는 특정 페이지에 하드 코드 된 링크가 있습니다. 이러한 .html 페이지를 기존 JSP 페이지로 리디렉션 할 수 있기를 원합니다. Spring에서 .html 페이지를 .jsp 페이지로 변환하도록하려면 어떻게해야합니까?

내 프로젝트는 다음과 같습니다.

WebContent
 |
 -sample.jsp
 -another.jsp
  WEB-INF
  |
  -myapp-servlet.xml
  -web.xml

localhost : 8080 / offers.html을 localhost : 8080 / sample.jsp로 리디렉션하고 싶습니다.

스프링으로이 작업을 수행 할 수 있습니까? 이미있는 페이지를 계속 제공해야하는 myapp-servlet.xml에 SimpleUrlHandlerMapping 및 UrlFilenameViewController가 이미 정의되어 있습니다.

내 web.xml에는

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

최신 정보

다음은 URL 매퍼입니다. 컨트롤러를 추가하면,보기 분석기가 / WEB-INF / jsp 디렉토리를 포함하므로 WebContent 디렉토리에있는 jsp 뷰를 리턴하는 방법은 무엇입니까?

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
    <props>
      <prop key="/page1.htm">page1Controller</prop>
      <prop key="/page2.htm">page2Controller</prop>
    </props>
  </property>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
  <property name="prefix" value="/WEB-INF/jsp/" />
  <property name="suffix" value=".jsp" />
</bean>

해결법

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

    1.나는 tuckey.org가 만든 오픈 소스 URL 재 작성 라이브러리의 이점을 누릴 수 있다고 생각한다. SpringSource의 사람들은이 라이브러리를 승인합니다. 왜냐하면 Spring Roo를 사용하여 프로젝트를 만들면 자동으로 설정되기 때문에 좋은 품질입니다. 나는 그것을 여러 프로젝트에서 성공적으로 사용했다.

    나는 tuckey.org가 만든 오픈 소스 URL 재 작성 라이브러리의 이점을 누릴 수 있다고 생각한다. SpringSource의 사람들은이 라이브러리를 승인합니다. 왜냐하면 Spring Roo를 사용하여 프로젝트를 만들면 자동으로 설정되기 때문에 좋은 품질입니다. 나는 그것을 여러 프로젝트에서 성공적으로 사용했다.

    홈페이지는 여기를 참조하십시오. Skaffman이 맞습니다. 리디렉션 대신 '전달'을 원하면 기본 동작입니다.

    다음과 같이 web.xml에서 구성하십시오.

    <filter>
            <filter-name>UrlRewriteFilter</filter-name>
            <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    

    그런 다음 WEB-INF / urlrewrite.xml에 다음과 같은 요소가 있습니다.

    <rule>
        <from>offers.html</from>
        <to>offers.jsp</to>     
    </rule>
    
  2. ==============================

    2.나는 이것을 위해 OCPsoft PrettyFaces 또는 OCPsoft Rewrite를 사용할 것이다.

    나는 이것을 위해 OCPsoft PrettyFaces 또는 OCPsoft Rewrite를 사용할 것이다.

    PrettyFaces 사용 :

    WEB-INF / pretty-config.xml을 만듭니다.

    <url-mapping>
       <pattern value="/offers.html" />
       <view-id value="/offers.jsp" />
    </url-mapping>
    

    다시 쓰기 사용 :

    ConfigurationBuilder.begin()
       .addRule(Join.path("/offers.html").to("/offers.jsp"));
    

    이게 도움이 되길 바란다.

    ~ 링컨

  3. ==============================

    3.첫째로, 나는 "리다이렉트 (redirect)"라고 말할 때, 실제로 "앞으로"를 의미한다고 가정하고 있습니다. 여기서 HTTP 리다이렉트는 적절하지 않을 것이다.

    첫째로, 나는 "리다이렉트 (redirect)"라고 말할 때, 실제로 "앞으로"를 의미한다고 가정하고 있습니다. 여기서 HTTP 리다이렉트는 적절하지 않을 것이다.

    주어진대로, 시도 할 몇 가지 사항은 다음과 같습니다.

  4. from https://stackoverflow.com/questions/2330630/spring-rewrite-one-url-to-another by cc-by-sa and MIT license