Spring MVC프로젝트를 생성하고 프로젝트 그대로 빌드합니다. (서버가 설정되어 있어야 함)
http://localhost/프로젝트명/ (처음 실행시 나오는 화면) 에서 Hello world! 시간표시가 되면 정상적으로 빌드된 것입니다.(안되면 clean하신 후에 다시 시도해보세요)
프로젝트 명이 test이고
http://localhost:8080/test/a/mem
이 url을 쳤을때 원하는 페이지로 이동하게 하겠습니다.
web.xml에서 빨간색 부분을 바꾸어줍니다.
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/a/*</url-pattern>
</servlet-mapping>
그 다음 Java Resources폴더의 src/main/java안에 패키지명안의 HomeController.java를 엽니다.
빨간색 부분을 원하는 데로 바꾸면 됩니다.
@RequestMapping(value = "/mem", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! the client locale is "+ locale.toString());
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "mem";
}
@RequestMapping(value = "/mem" 의 녹색부분과 http://localhost:8080/test/a/mem 녹색부분이 서로 매치됩니다.
그리고 return되는 String이 보여주고자 하는 페이지 이름이 됩니다.
return "mem"이므로 mem.jsp 혹은 mem.html 이렇게 될겁니다.
return으로 매핑되는 페이지들에 대한 설정은 WEB-INF -> spring -> appSerlet -> servlet-context.xml 에서 빨간색 글 부분과 매치됩니다. 보여주고자 하는 페이지 경로가 다르다면 이 부분을 수정해야 합니다.
지금 설정된 대로라면 mem.jsp는 WEB-INF/views/mem.jsp에 위치해 있는거지요.
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
요청한 url이 없을 시 에러 페이지(해당 페이지를 찾을 수 없습니다)로 가게 하려면 해당 Controller.java 에서 @RequestMapping(value="/*" 로 설정하고, return "에러 페이지(ex. error)" 로 설정하면 url이 맞지 않을 경우 error.jsp로 이동하게 할 수 있습니다.
'Programming > SPRING' 카테고리의 다른 글
Spring 프로젝트 배포하기(tomcat 이용) (0) | 2015.08.28 |
---|---|
spring + mybatis + mysql + jsp(jstl) 환경 설치 성공 (0) | 2014.11.07 |
스프링 환경구축 - 메이븐방식 + 프로젝트 생성후 Errors running builder 'Maven Project Builder on project 에러 해결 (0) | 2014.06.03 |
@MVC의 컨트롤러(@Controller) 파라미터 (0) | 2014.04.15 |
[Spring 레퍼런스] 1장 스프링 프레임워크 소개 #1 (0) | 2014.01.02 |