JSP 4일차

정해랑·2024년 2월 21일
  1. 액션태그 - 행위에 대한 태그
  • jsp 페이지에서 동일한 내용이라도 자바 코드를 기술하기 보다는 태그를 기술하는 것이 지저분하지 않고 깔끔하게 코딩할 수 있어 가독성 높은 소스코드를 작성할 수 있다. 또한 코드 양을 대폭 주일수 있다.
  • 페이지와 페이지 사이를 제어하거나 다른 페이지의 실행 결과 내용을 현재 페이지에 포함하거나 자바 빈즈(객체) 등의 다양한 기능을 제공한다.
  • 액션태그는 XML 문법을 따른다. 즉 시작 태그와 함께 반드시 종료 태그를 포함해야한다.
  • 액션 태그의 기본 형식 : <jsp:... 속성="값">내용</jsp:... 속성="값">
  • 내용이 없는 액션 태그의 형식 : <jsp:... 속성="값"/>

1-1. 액션태그 종류

  • forward : 다른 페이지로의 이동, 페이지 흐름 제어
    <jsp:forward ... >
  • include : 외부 페이지의 내용을 포함하거나 페이지 모듈화
    <jsp:include ... >
  • param : 현재 페이지에서 다른 페이지에 대한 정보를 전달할 때 사용
    <jsp:param ...>
  • useBean : 빈을 생성하고 사용하기 위한 환경을 정의
    <jsp:useBean ...>
  • setProperty : 빈 속성 값을 할당
    <jsp:setProperty ...>
  • getProperty : 빈에서 속성 값을 얻어올 때 사용
    <jsp:getProperty ...>
  1. 페이지 이동
    2-1. forward
  • request에 담긴 값이 유효하다.(resquest, response가 유지된다)
  • 이동된 url이 화면에 안보인다.(사용자는 이동했는지 알 수 없음)
  • foward하는 방법
    -> <jsp:forward page="이동할페이지"/>
    -> pateContext.forward("이동할페이지");

2-2. redirct

  • 클라이언트가 새로 페이지를 요청한 것과 같은 방식으로 페이지가 이동됨. request, response가 유지되지 않는다. (새로 만들어진다)
  • 이동된 url이 화면에 보인다
  • 리다이렉트 하는 방법
    -> response.sendRedirect("이동할페이지");
  1. attribute scope
  • Page : 요청된 page 내부에서 사용된다
  • Request : 요청부터 응답까지
  • Session : Web Browser 종료 또는 설정한 시간 동안
  • Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용
  1. MVC패턴
  • M : Model (사용자가 원하는 데이터나 정보를 제공)
    -> 애플리케이션의 정보, 데이터를 말한다.
  • V : View (보여지는 화면)
    -> input 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타낸다. 다시 말해 데이터 및 객체의 입력 , 그리고 보여주는 출력을 담당한다. 데이터를 기반으로 사용자들이 볼 수 있는 화면이다.
  • C : Controller (사용자의 요청을 처리하고, 그 요청에 따른 전체적인 흐름을 제어)
    -> 데이터와 사용자 인터페이스 요소들을 잇는 다리 역할을 한다.

4-1. MVC 1패턴

  • MVC 1패턴의 경우 view 와 Controller를 모두 JSP가 담당하는 형태를 가집니다. 즉 JSP하나로 유저의 요청을 받고 응답을 처리하므로 구현 난이도는 쉽다
  • 단순한 프로젝트에서는 괜찮겠지만 내용이 복잡하고 거대해질 수록 이 패턴은 힘을 잃는다. 즉, 유지보수에 있어서 문제가 발생한다.

4-2. MVC2 패턴 - 스프링에서 채택

  • MVC2 패턴은 널리 표준으로 사용되는 패턴이다. 요청을 하나의 컨트롤러(Servlet)가 먼저 받는다. 즉 MVC1과는 다르게 Controller. View가 분리되어 있다. 따라서 역할이 분리되어 MVC1 패턴에서 단점을 보완 할 수 있다.
  • 그래서 개발자는 MVC 중에서 수정할 부분이 있다면 그것만 꺼내여 수정하면 된다. 따라서 유지보수에도 큰 이점이 있다.

0개의 댓글