티스토리 뷰
전자정부프레임워크 3.0(Spring Legacy)에서 URL 뒤에 붙는 .do를 제거하고 사용하는 것은 최근 웹 개발의 트렌드인 RESTful API 스타일을 따르거나, URL을 더 깔끔하고 직관적으로 만들기 위해 선택하는 경우가 많습니다.
특별히 .do를 제거하려는 몇 가지 구체적인 이유와 그 방법을 정리해 드릴게요.
1. 왜 .do를 제거하나요? (이유)
① RESTful 인터페이스 지향
최근에는 URL에 파일 확장자(.do, .php, .asp)를 노출하지 않는 것이 표준입니다.
- 기존: example.com/getUser.do?id=1
- 변경: example.com/users/1 확장자가 없으면 이 주소가 어떤 기술(자바인지, 파이썬인지)로 만들어졌는지 숨길 수 있고, 리소스 중심으로 주소를 설계할 수 있어 훨씬 깔끔합니다.
② 보안성 (Security)
URL에 .do가 붙어 있으면 외부에서 "아, 이 시스템은 전자정부프레임워크나 스프링 기반의 자바 서버구나"라고 쉽게 추측할 수 있습니다. 확장자를 숨기는 것은 아주 기초적인 보안 강화 기법 중 하나입니다.
③ 검색 엔진 최적화 (SEO)
구글 같은 검색 엔진은 확장자가 붙은 복잡한 URL보다, 의미 있는 단어로 구성된 짧고 간결한 URL을 더 선호합니다.
2. .do는 어디서 결정되나요?
전자정부 3.0에서 이 설정은 **web.xml**에 들어있습니다. 서버로 들어오는 모든 요청 중에 어떤 것을 스프링(DispatcherServlet)이 처리할지 결정하는 부분입니다.
📂 web.xml의 일반적인 모습 (.do 사용)
XML
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern> </servlet-mapping>
📂 .do를 제거하고 싶을 때의 모습 (/* 사용)
XML
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/</url-pattern> </servlet-mapping>
3. .do를 제거할 때 주의할 점 (트러블슈팅)
단순히 *.do를 /로 바꾸면 문제가 하나 생깁니다. 이미지(.jpg), 스타일시트(.css), 자바스크립트(.js) 파일까지 모두 스프링 컨트롤러가 처리하려고 시도하기 때문에 정적 리소스가 깨지는 현상이 발생합니다.
이를 해결하기 위해 전자정부 3.0(Spring 3.x)에서는 별도의 설정을 추가해야 합니다.
- 해결책 (servlet-context.xml 등):
-
XML
<mvc:resources mapping="/resources/**" location="/resources/" /> <mvc:default-servlet-handler />
4. 요약
- 세련된 주소: .do가 붙으면 옛날 방식 느낌이 나서, 요즘은 RESTful하게 확장자를 뗍니다.
- 설정 위치: web.xml의 <url-pattern>을 수정하면 됩니다.
- 리소스 관리: 확장자를 떼면 이미지나 CSS 파일 경로가 꼬일 수 있으니 스프링 설정에서 별도로 관리해줘야 합니다.
※ 해당 내용은 Google Gmini3.0에서 작성되었습니다.
'WEB > 자바' 카테고리의 다른 글
| 자바 코딩의 첫걸음인 **1단계: 기본 문법(기초 체력) (0) | 2026.03.25 |
|---|---|
| 자바 코딩을 배우는 과정 4단계 (1) | 2026.03.25 |
| 전자정부프레임워크(eGovFrame) 3.0 버전 (0) | 2026.03.25 |
| @SpringBootApplication나 메인머서드 없을 수도 있나요? 전자정부프레임워크 입니다. (0) | 2026.03.25 |
| 어노테이션이 궁금합니다. (0) | 2026.03.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ajax
- 정보처리기사 #정보처리기사요약 #정보처리기사요점정리
- 탭메뉴자바스크립트
- echart
- css미디어쿼리 #미디어쿼리 #mediaquery
- 자바스크립트 #javascript #math
- jdk #jre
- 연명의료결정제도 #사전연명의료의향서 #사전연명의료의향서등록기관 #광주사전연명의료의향서
- 좋은책 #밥프록터 #부의원리
- 자바스크립트countiue
- lg그램pro #lg그램 #노트북 #노트북추천 #lg노트북
- SQL명령어 #SQL
- 와이파이증폭기추천 #와이파이설치
- 자바스크립트break
- 자바스크립트정규표현식
- 무료폰트 #무료웹폰트 #한수원한돋움 #한수원한울림 #한울림체 #한돋움체
- thymeleaf
- 좋은책
- 썬크림 #닥터지썬크림 #내돈내산 #내돈내산썬크림 #썬크림추천 #spf50썬크림 #닥터지메디유브이울트라선
- 증폭기 #아이피타임증폭기
- iptime와이파이증폭기 #와이파이증폭기설치
- 바지락칼국수 #월곡동칼국수 #칼국수맛집
- jQuery #jQuery이미지슬라이드 #이미지슬라이드
- 광주분식 #광주분식맛집 #상추튀김 #상추튀김맛집 #광주상추튀김
- 쇼팬하우어 #좋은책
- 파비콘 #파비콘 사이트에 적용
- 테스크탑무선랜카드 #무선랜카드 #아이피타이무선랜카드 #a3000mini #무선랜카드추천
- sw기술자평균임금 #2025년 sw기술자 평균임금
- 파비콘사이즈
- // 사진직: 데이터가 없으면 DEFAULT_IMG 사용 const profileSrc = (d.img && d.img !== "") ? d.img : DEFAULT_IMG;('#user-photo').attr('src'
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
글 보관함

