Spring Framework에서 .do URL을 변경하는 방법

2025. 3. 17. 23:19IT/기타

반응형

Spring Framework에서는 .do 확장자를 다른 명칭으로 변경할 수 있습니다. 기존 프로젝트에서 .do를 .action, .html 또는 다른 형태로 바꾸고 싶다면 DispatcherServlet의 URL 매핑을 수정하면 됩니다.


1. web.xml에서 URL 패턴 변경하기 (Servlet 2.x, 3.x 환경)


기존에 web.xml에서 DispatcherServlet을 사용하고 있다면 <url-pattern> 값을 변경하여 .do 대신 다른 확장자를 적용할 수 있습니다.

✅  기존 .do 설정
아래와 같이 *.do 확장자를 사용하도록 설정되어 있다면

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.do</url-pattern>  <!-- .do 확장자 -->
</servlet-mapping>


✅   do → .action으로 변경
이제 .do 대신 .action을 사용할 수 있도록 변경합니다.

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.action</url-pattern>  <!-- 변경된 확장자 -->
</servlet-mapping>

이렇게 하면 기존 example.do 대신 example.action을 호출하여 컨트롤러를 실행할 수 있습니다.


2. Spring Boot에서 URL 패턴 변경하기 (Java Config 방식)

Spring Boot에서는 web.xml이 없기 때문에 Java Config를 활용해 URL 매핑을 변경할 수 있습니다.

✅  기존 .do 설정 (Java Config)
아래 코드에서는 .do 확장자를 사용하도록 설정되어 있습니다.

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Bean
    public ServletRegistrationBean<DispatcherServlet> dispatcherRegistration(DispatcherServlet dispatcherServlet) {
        ServletRegistrationBean<DispatcherServlet> registration = new ServletRegistrationBean<>(dispatcherServlet);
        registration.addUrlMappings("*.do");  // 기존 .do 사용
        return registration;
    }
}

✅  .do → .action으로 변경
위 설정을 .action으로 변경하려면 addUrlMappings 값을 수정하면 됩니다.

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Bean
    public ServletRegistrationBean<DispatcherServlet> dispatcherRegistration(DispatcherServlet dispatcherServlet) {
        ServletRegistrationBean<DispatcherServlet> registration = new ServletRegistrationBean<>(dispatcherServlet);
        registration.addUrlMappings("*.action");  // .action 확장자로 변경
        return registration;
    }
}


3. Spring MVC 컨트롤러에서 URL 매핑 변경하기

Spring MVC 컨트롤러에서 URL 매핑을 직접 변경하는 방법도 있습니다.

✅  기존 .do 컨트롤러 매핑
아래는 .do URL을 사용하는 기존 컨트롤러입니다.

@Controller
@RequestMapping("/*.do")
public class SampleController {
    @GetMapping("/hello.do")
    public String hello() {
        return "hello";
    }
}


3-2. .do → .action으로 변경
.do 대신 .action을 사용하도록 수정하면 다음과 같이 변경할 수 있습니다.

@Controller
@RequestMapping("/*.action")
public class SampleController {
    @GetMapping("/hello.action")
    public String hello() {
        return "hello";
    }
}

이제 /hello.do가 아니라 /hello.action으로 접근하면 컨트롤러가 실행됩니다.

4. 결론: .do 확장자 변경 방법 요약

.do 확장자를 다른 명칭으로 변경하는 방법은 설정 방식에 따라 다릅니다.

환경기존 설정(.do) 변경 방법
web.xml (Servlet 2.x, 3.x)<url-pattern>*.do</url-pattern><url-pattern>*.action</url-pattern> 으로 변경
Spring Boot (Java Config)addUrlMappings("*.do") addUrlMappings("*.action") 으로 변경
Spring MVC 컨트롤러@RequestMapping("/*.do")@RequestMapping("/*.action") 으로 변경












반응형