2025. 3. 17. 23:19ㆍIT/기타
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") 으로 변경 |
'IT > 기타' 카테고리의 다른 글
| DBeaver로 Hive 서버에 접속하는 방법 (1) | 2025.03.21 |
|---|---|
| Spring Interceptor란? (1) | 2025.03.17 |
| Spring Boot API 관리 솔루션 추천: API Gateway, 모니터링, 배포 자동화까지 (2) | 2025.03.17 |
| OAuth 2.0에 대해 (4) | 2025.03.16 |
| REST API 방식이란? 구성 요소 및 장단점, 사용예제까지 (1) | 2025.03.16 |