organize/JSP

MVC

001cloudid 2024. 1. 2. 22:00
728x90

MVC

MVC(Model-View-Controller) 애플리케이션을 Model, View, Controller 세 가지 주요 논리적 구성 요소로 분리하는 패턴이며, 각각의 요소는 애플리케이션의 특정 개발 측면을 처리하도록 구축되었다.

그림 1. MVC 구성 요소. 출처:tutorialspoint

Model : DB작업

View : 화면

Controller : 제어

 

MVC 흐름도

그림 2. MVC 흐름도. 출처 : tutorialspoint

  1. 클라이언트 브라우저가 MVC 애플리케이션에 요청을 보낸다.
  2. 들어오는 요청의 URL을 기반으로 라우팅*을 수행한다.
    *라우팅 : 네트워크에서 경로를 선택하는 프로세스
  3. 라우팅 작업은 적합한 컨트롤러를 호출하고 메소드를 사용하여 이를 실행
  4. 컨트롤러는 모델을 사용하여 데이터를 처리하고 적절한 메소드를 호출
  5. 처리된 모델은 뷰로 전달되고, 뷰는 화면에 출력한다.

web.xml

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>default.html</welcome-file>

<welcome-file>default.jsp</welcome-file>

<welcome-file>default.htm</welcome-file>

</welcome-file-list>

 

서버 실행 후 localhgost:8080 접속시 먼저 index.html을 불러온다.

index.html이 없을 경우 index.jsp, intdex.htm, default.html, default.jsp, default.htm 순으로 찾는다.


<servlet-mapping>

<servlet-name>ServletA</servlet-name>

<url-pattern>/url-pattern</url-pattern>

</servlet-mapping>

  • <servlet-mapping> 태그
    웹 응용 프로그램에서 서블릿을 URL 패턴에 매핑하는데 사용되는 XML 요소이다.
    클라이언트의 요청 URL을 특정 서블릿으로 연결하는데 사용된다.
  • <servlet-name>태그
    매핑할 서블릿의 이름을 지정한다.
    지정한 이름은 '<servlet>'태그에서 정의된 서블릿 이름과 일치해야한다.
  • <url-pattern>태그
    서블릿에 매핑될 URL 패턴을 지정한다.
    클라이언트가 서블릿에 접근하려면 이 URL 패턴을 사용해야한다.
    패턴은 '*'사용하여 여러 URL을 매핑할 수 있다. ex) *.me, /servlet/* 등..

예시)

<servlet-mapping>

<servlet-name>MemberController</servlet-name>

<url-pattern>*.me</url-pattern>

</servlet-mapping>


<servlet>

<servlet-name>servletA</servlet-name>

<servlet-class>com.tistory.cloudid.servletA</servlet-class>

</servlet>

  • <servlet>태그
    Java 웹 응용 프로그램에서 서블릿을 정의하는 데 사용되는 XML 요소이다.
    서블릿 클래스와 서블릿 이름을 지정한다.
    <servlet>
     <servlet-name>Name</servlet-name>
     <servlet-class>패키지이름/파일이름</servlet-class>
    </servlet>
    구조를 가진다
  • <servlet-name>태그
    서블릿의 고유한 이름을 지정한다.
    이 이름은 서블릿을 식별하는 데 사용되며, <servlet-mapping> 태그에서 이름을 참조하여 서블릿을 특정 URL 패턴에 매핑한다.
  • <servlet-class>태그
    서블릿 클래스의 전체 경로를 지정한다.
    이 클래스는 클라이언트의 요청을 처리하는 서블릿 코드를 포함한다. 

<servlet>

<servlet-name>MemberController</servlet-name>

<servlet-class>com.tistory.cloudid.MemberController</servlet-class>

</servlet>

 

728x90

'organize > JSP' 카테고리의 다른 글

DTO, DAO, MVC  (0) 2023.12.31