본문 바로가기
JSP Servlet

JSP/Servlet

by noddu 2021. 2. 8.
728x90
반응형

Servlet이란 Java코드안에 HTML코드(HTML+java.java)

Java - Model

JSP - View

Servlet - Controller

WEB-INF 경비실 -  브라우저에서 직접적으로 접근이 불가한 경로, Controller를 통해서만 이동가능!!

 

Servlet생명주기(Life Cycle)

클라이언트가 요청하면 바로 호출되지않고 객체생성->초기화작업->요청처리 하는 생명 주기를 가짐

 

 

Context등록 - context가 바뀌어도 변경하기 유용
Context path="/경로" docBase="propetise"

 

PrintWriter out=res.getWriter();

서블릿 클래스 작성시 데이터를 출력할 때 response.getWriter() 를 통해 PrintWriter를 얻기 위한 클래스

 

WEB-INF 안의 web,xml = 표지판 (<web-app></web-app>사이에)

 

 

MyBatis -  객체지향 언어인 자바의 관계형 데이터 베이스 프로그래밍을 도와주는 개발프레임워크

  • SQL 명령어를 자바코드에서 분리하여

  • XML파일을 따로관리

  • 한두줄의 자바코드로 DB연동을처리

▲서블릿 기본골격

extends HttpServlet - 서블릿 상속(javax.servlet.http 패키지에서 제공하는 HttpServlet 클래스를 상속받아 구현해야함)

 

HttpServletRequest request

                          (요청)

HttpServletResponse response

                            (응답)

 

throws SeverException, IOException{

}                    (  throws - 예외 던지기)         예외가 발생하면 해당 클래스에서 벗어나게 됨

 

 

throws - 메소드나 생성자를 수행할 때 발생하는 excaption을 선언할때, 자신을 호출하는 메소드에게 책임을 전가

throw - 실제로 exception을 throw할때, 강제로 예외를 발생

 

 

service()메소드 - 클라이언트가 서블릿에 요청할때마다 서블릿 컨테이너는 서블릿의 service메소드를 호출한다.

 

▲mapping

web.xml에서 mapping  - 클라이언트(브라우저)가 JavaServlet에 접근하기위해선 WAS(Tomcat)에 필요한 정보를 알려줘야 해당Servlet 호출 할 수 있음.

 

                                                                                             간결하게 하기위해, 보안문제로 mapping

                                                                /WEB-INF/classes/kr.controller.HelloServlet   →   /hs

 

 

▲요청 응답, redirect

/memberInsert.do(회원가입 페이지)에서 회원가입 성공하면 회원 리스트를 띄우도록

response. sendRedirect해서 /memList.do로 redirect해서  회원리스트 보여주고

실패시 Tomcat으로 예외던지기. (throw new ServletException("error");

 

redirect  -  요청 받은 첫 번째 URL에서 클라이언트에 Redirect할 두 번째 URL을 리턴하고, 클라이언트는 전혀 새로운 요청을 생성하여 두 번째 URL에 다시 요청을 보낸다. (처음 보냈던 요청정보는 더이상 유효하지 않음)


get - 주소창을 타고넘어감(보안취약),255자이하
post - html header타고넘어감,255자이상 대용량가능

반응형

'JSP Servlet' 카테고리의 다른 글

비동기식페이지(JQuery,Ajax,JSON)  (0) 2021.02.08
회원관리 MVC2+HandlerMapping+JSTL  (0) 2021.02.08
회원관리 MVC2(forward+FrontController)  (0) 2021.02.08
회원관리 MVC2(forward)  (0) 2021.02.08
물품관리 MVC1  (0) 2021.02.08