(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
프로젝트 전체 구조

1. java : 웹 애플리케이션에서 사용되는 Controller, Service, DAO 객체들의 java 파일의 위치
2. webapp : 스프링 설정파일, JSP, HTML 등 웹과 관련된 파일의 위치
3. resources : JSP 파일을 제외한 html, css, js 파일 등의 위치
4. spring : 스프링 설정파일의 위치
5. views : JSP 파일의 위치
6. xeb.xml : 웹 설정파일
7. pom.xml : Maven 설정 파일
web.xml
웹 애플리케이션에 최초 사용자의 요청이 발생하면 가장 먼저 DispatcherServlet이 사용자의 요청을 받는데, 개발자는 DispatcherServlet을 서블릿으로 등록해주어야 한다. 모든 사용자의 요청을 받기 위해 root를 의미하는 / 로 URL을 매핑한다.
<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>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
|
cs |
DispatcherServlet

- HandlerMapping : 적합한 Controller를 선택
- HandlerAdapter : 해당하는 Controller 내에서 가장 적합한 메소드를 선택
- ViewResolver : 가장 적합한 JSP 파일 선택
servlet-context.xml
웹 설정파일인 web.xml에 스프링 설정파일의 역할을 하는 파일로 지정되어있다. 클래스로부터 빈(Bean) 객체를 생성하고 조립하는 역할
<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>
|
cs |
Controller
사용자의 요청을 실체로 처리하는 부분
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
@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";
}
}
|
cs |
View
클라이언트 요청정보(URL 매핑 값)에 해당하는 JSP파일 실행

'Spring > Study' 카테고리의 다른 글
스프링(Spring) Service & DAO 객체 구현 (0) | 2020.04.16 |
---|---|
스프링(Spring) 한글 처리 (0) | 2020.04.16 |
스프링(Spring) STS를 이용한 웹 프로젝트 생성 (0) | 2020.04.15 |
스프링(Spring) 웹 프로그래밍 설계 모델 (0) | 2020.04.14 |
스프링(Spring) Java 파일 분리 (0) | 2020.04.13 |