반응형

 스프링을 사용하는 웹사이트들을 보면 *.do의 형식을 많이 사용하는 것을 볼 수 있죠. 이런 형식으로 로직을 처리하고 jsp파일을 불러오는 RequestMapping을 많이 사용하는데 그 설정 방법을 알아보도록 하겠습니다.




자, 우선 설정을 해야 할 파일은 크게 3개라고 볼 수 있습니다.

톰캣을 사용중이라면 [ Server.xml ]을 수정해 주시는 것이 사용하기 편리합니다.


두번째로는 [ web.xml ] 입니다. 여기서 실질적으로*.do를 셋팅한다고 보시면 됩니다.

마지막으로는 [ 컨트롤러.java ] 파일입니다.


[ Server.xml 수정 ]

1
<Context docBase="test" path="패키지명" reloadable="true" source="org.eclipse.jst.jee.server:test"/></Host>
cs


보통 수정하기 전이 위와 같은 형식일텐데 여기서 [ path = "패키지명" ]을 [ path = "" ]로 변경을 해줍니다.

이 작업은 예) localhost:8080/test 의 형식으로 index.jsp를 부르는 것을 localhost:8080 으로 부를 수 있게 변경을 해줍니다.


그 다음으로는 [ web.xml 수정 ]입니다.

1
2
3
4
<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
cs

3번째 줄처럼 *.do로 수정을 해줍니다. 이러한 형식은 꼭 정해져 있는 것은 아니고 *.milkye 처럼 원하는 형식으로 커스텀을 해서 사용할 수 있는 일종의 패턴 입니다. 우리는 *.do를 사용을 할 것이기에 위와 같이 설정을 해 줍니다.



마지막, [ Java 파일 ]입니다.

우선 기본적으로 component-scan으로 패키지가 어노테이션을 잡을 수 있도록 되어있다는 가정하에 진행합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Controller
public class HomeController {
    
    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
    
    /**
     * Simply selects the home view to render by returning its name.
     */    
    @RequestMapping(value = "/home.do")
    public String home1(Locale locale, Model model) {
        logger.info("Welcome home! The client locale is {}.", locale);
        
        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
        
        String formattedDate = dateFormat.format(date);
        
        model.addAttribute("serverTime", formattedDate );
        
        return "home";
    }
    
}
cs


우리가 봐야 할 코드는 9번째 줄 입니다. @RequestMapping을 통해 value 값을 .do로 설정을 해줍니다. 

여기서는 [ home.do ] 라고 설정을 해놓도록 하겠습니다.


자 이렇게하고 실행을 해보도록하죠. 프로젝트를 처음 만들고 별 다른 설정을 건들지 않았다면 DispatcherServlet가 알아서 home.do 메소드까지 가서 로직을 실행시키고 뷰까지 띄워주게 됩니다.


 이렇게 하시면 SpringFramework에서 .do를 사용해서 작업을 진행하실 수 있습니다. 어렵지 않으셨죠? 

확실히 .do를 사용해서 하니까 좀 더 스타일리쉬하게 작업이 진행이 되어가네요!


반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기