[ jsp ] jsp - servlet 폴더 및 구동 설명 2 - MVC 모델2 방식 > jsp&servlet

본문 바로가기

사이트 내 전체검색

jsp&servlet

[ jsp ] jsp - servlet 폴더 및 구동 설명 2 - MVC 모델2 방식

작성일 21-01-11 17:36

페이지 정보

작성자 웹지기 조회 3,399회 댓글 0건

본문

*** 서블릿

 서블릿은 model + view + controller = 모델 2방식  

 

 일반 자파 파일을 Servlet(서블릿)으로 바꾸기

  extends HttpServlet

  import javax.servlet.http.*;

  main 메소드 를 service 메소드 로 바꾼다.

  public static void main( ==>  

  public static void service(

  웹은 요청과 응답이 한쌍이 필요함.

  클라이언트에게 요청 > 응답은 html 코드

  요청은 request

  응답은 response

  요청객체 => HttpServletRequest

  응답객체 => HttpServletResponse

  main(String[] args) ==> service(HttServletRequest req, HttpServletResponse res)

  ip주소와 port와의 소통을 하게 됨.(111.111.111.111:9000 예를들어서 이런 요청이 들어오면 확인)

  이부분이 req에 담아져서 가져오게 된다.

  이가져온 부분을 가공해서 res로 보낼 때 다시 req에서 전달된 정보를 다시 응답한다.

  서버가 통신을 하게 되면 무조건 res와 req의 한쌍이 만들어진다.

  예외처리를 위해 마지막 부분에 추가 throws ServerException, IoException{

  서블릿의 기본골격

  import java.io.*;

  import javax.servlet.*;

  import javax.servlet.http.*;

  public class HelloServlet extends HttpServlet{

      public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{

      

      }

  }

  

  요청이 오면 >>>>>

  톰캣에서 HttpServletRequest IP,PORT를 메모리에 저장

  톰캣에서 HttpServletResponse IP, PORT를 메모리에 저장

  응답 :: PrintWriter out = res.getWriter();


  서블릿의 이름은 3개가 된다.

  진짜 이름, 가짜 이름, 찾아갈 때 이름

  찾아갈 이름은 고유한 이름이 되어야 하므로 클래스 이름을 사용하게 되면 

  (<servlet-name>HelloServlet</servlet-name>)

  127.0.0.1/iot/hs 를 브라우져에 넣으면 정상적으로 이동하게 된다.


    <servlet>

        //<servlet-class>/WEB-INF/classes/kr.controller.HelloServlet</servlet-class>

        // WEB-INF/classes 는 기본 폴더이므로 생략가능

       <servlet-name>HelloServlet</servlet-name>

        <servlet-class>kr.controller.HelloServlet</servlet-class>

    </servlet>

    

    <servlet-mapping>

        <servlet-name>HelloServlet</servlet-name>

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

    </servlet-mapping>

   


KakaoTalk_20210111_172801431.png

 

모델2방식 : 

MVC 프레임워크를 이용하여 클라이언트의 요청을 진행하는 과정

서버에서 127.0.0.1/aaa/memList.do 를 요청하지만

실제 작업되어서 전달해주는 페이지는 

memList.do 에서 포워딩해주는 member/memList.jsp 에서 보내주는 내용

controller 에서 request에 넣어두는 것을 객체 바인딩이라고 한다.

이 request를 넣는 것은 setAttribute 처리 -> request.setAttribute("list", list);


 

KakaoTalk_20210115_155937610.png

 

모델2방식에서 발전된 모양으로 

frontController - pojo 형태로 업그레이드 된 형태에서의 흐름도

front controller

 - client요청을 확인하는 작업( 요청 url = command )


pojo controller(Plain Old Java Object - 오래된 방식의 간단한 객체)

 - 특별한 제한에 종속되지 않고, 클래스 패스(class path)를 필요로 하지 않는 일반적인 Java Object를 의미

 - 주요 Java Object Model, 컨벤션 또는 프레임워크를 따르지 않는 Java Object를 나타냄

 - java 언어 규약에 의해 강제된 것 이외의 제한에 구속되지 않는 Java Object


KakaoTalk_20210118_172703249.png


추천0

비추천 0

댓글목록

등록된 댓글이 없습니다.

전체 24건 2 페이지

이미지 목록

게시물 검색
Copyright © 즐거운 코딩 생활 ( funyphp ). All rights reserved.
PC 버전으로 보기