일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- 하둡
- 리눅스
- rhcsa
- recursive
- hadoop
- Amazon
- Redshift
- sort
- data
- big data
- 아마존
- java
- 도커
- 설치
- redhat
- storage
- 레드햇
- 자바
- linux
- algorithm
- AWS
- Spring
- 스프링
- 빅데이터
- 알고리즘
- Data Structure
- 자료구조
- 스토리지
- 재귀
- Today
- Total
Developer MJ
[Spring] Spring & Eclipse 시작하기 part-2 본문
Spring Framework
이번에는 간단하게 JSP 파일을 Controller를 통해 웹 브라우저에 표현하는 방법을 포스팅하겠다.
ps. 이 블로그의 모든 기술 포스팅에서는 자세한 설명은 생략하고 빠르게 적용해 볼 수 있도록 하는데 목표를 두고 있다.
프로젝트를 생성했으면 Eclipse에 추가한 Tomcat의 Configuration을 확인한다.
우측 Ports 탭에서 HTTP/1.1에 8080(default)를 변경하면, Tomcat 서버가 구동중일 때 웹 브라우저에서 호출해야할 Port가 변경된다.
default > http://localhost:8080/
Tomcat 서버를 구동하여 웹 브라우저에 localhost:8080을 입력했을 때, 위와 같은 화면이 표시되지 않는다면
프로젝트가 서버에 올라가있는 상태가 아닐 확률이 높다.
Tomcat에 프로젝트를 올리기 위해서는 Servers 탭에 원하는 Tomcat 서버를 우클릭하여 Add and Remove를 클릭한다.
그리고 원하는 프로젝트를 우측의 Configured로 Add시킨 후 Finish를 클릭한다.
만약 Servers가 보이지 않는다면, Window > Show View > Servers를 클릭하여 표시한다.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Web.xml 파일에는
application의 contextConfigLocation이 root-context.xml으로
appServelet의 contextConfigLocation으로 지정된 sevlet-context.xml으로 지정되어 있다.
(일반적으로 servlet-context에 View에 관련된 내용을 명시하는 것으로 알고있다.)
<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>
<context:component-scan base-package="com.example.spring" />
servlet-context.xml에는
웹 브라우저에 표시할 View파일(JSP)의 위치를 찾을 수 있는 ViewResolver는 Bean객체를 정의한다.
Application에 Component를 Scan할 base-package를 지정한다. (지정된 패키지 하위에 명시된 모든 컴포넌트를 스캔)
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(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";
}
프로젝트 생성시 자동 생성되는 HomeController 클래스에 @Controller으로 인해 component-scan을 통해 Controller component가 생성된다.
@RequestMapping(value = "/", method = RequestMethod.GET)
위 어노테이션은 localhost:8080/ URL이 GET(Method)로 호출 되었을 때, 수행되는 Method라는 것을 보여준다.
model parameter는 Response Body에 관련된 객체로서,
model.addAttribute(key, value) 메소드를 통해 View 단(JSP)에서 Key로 Value를 호출해 사용할 수 있다.
(관련된 method는 API를 참조하기 바란다.)
리턴값은 servlet-context.xml에서 생성한 ViewResolver Bean으로 Prefix와 suffix 사이로 결합되어 JSP파일의 Location을 리턴하고 model객체 전달하며 웹 브라우저에 JSP파일을 렌더링한다.
(위와 관련있는 @RestController 와 @ResponseBody는 차후에 설명하겠다.)
<P> The time on the server is ${serverTime}. </P>
Controller의 RequestMapping을 통해 호출된 Method에서 Model객체를 Response Body에 포함시켰기 때문에 model객체에 추가한 Value를 Key로 호출할 수 있다.
이렇게 Tomcat을 구동시켜 새로 생성한 프로젝트를 추가하고 웹 어플리케이션을 실행해보는 과정을 알아보았다.
'Framework > Spring' 카테고리의 다른 글
[Spring Social] ProviderSignInController (0) | 2017.08.31 |
---|---|
[Spring Soical] ConnectController (0) | 2017.08.31 |
[Spring Social] Social Configuration (0) | 2017.08.31 |
[MAVEN] Local Repository 등록 (OJDBC) (0) | 2017.07.26 |
[Spring] Spring & Eclipse 시작하기 part-1 (0) | 2017.02.04 |