본문 바로가기

JSP

서블릿

*서블릿

-.class 파일
-파일 만들 때 class가 아닌 servlet으로 만들기

-실행 결과를 클라이언트에게 HTML 문서로 응답해줌

-메인 메서드가 클래스를 실행해주는 것이 아니라, 웹서버가 실행해줌 (메인 메서드 없음)

-무조건 꼭! HttpServlet 클래스를 상속받아야함 (오버라이딩해서 쓰려고)

-HttpServlet 안에는 HttpServletRequest, HttpServletResponse 객체가 존재

-HttpServlet 안에는 doGet(), doPost() 메서드가 존재

-서블릿 실행 과정

 1) 사용자의 요청이 들어오면 서블릿 실행을 시작

 2) 톰캣 서버가 서블릿 객체를 생성 

 3) init() 메서드 호출 - 단 한번만

 4) 요청 방식에 따라 처리 doGet(), doPost() - 반복적으로 호출

 5) 더 이상 사용하지 않을 경우 destroy() 메서드 호출

-스레드(분할처리)를 바탕으로 요청이 올때마다 새로운 프로세스를 생성하지 않아 효과적

 

*URL매핑

-URL pattern(내가 프로젝트 만들 때 생성)과 서블릿 클래스 이름을 매핑해 놓은 것

 즉, 클래스 이름 대신에 쓰일 별명 같은 것을 URL pattern이라고 하고 이 과정을 매핑이라고 함

-@WebServlet(/pattern명) → 실제로는 클래스명이 아닌 pattern명으로 접근

-servlet.xml의 <Context> 태그에 서블릿을 요청할 때 지정할 URL에 기술할 가상패스가 들어있음

 (이것은 이클립스가 알아서 만들어준다)

-매핑을 하는 이유?

 보안상의 이유 / 클래스명이나 경로가 변경되어도 매핑시켜놓으면 사용자는 영향을 받지 않음

 

 

 

*어노테이션 (@)

-문장이나 문서에 추가적인 정보를 기입하는 것

-자바 프로그램에 영향을 주는 것이 아니라 컴파일할 때 환경설정을 변경해달라고 하는 주석 형태

-예전에는 xml에 수동적으로 환경설정을 했었는데, 어노테이션의 등장으로 xml을 직접 수정하지 않고

 자바 코드 위에 어노테이션을 적으면 알아서 자동으로 xml에 코드를 추가해주는 편리함

 

*데이터 전송 방식

-get 방식

주소 창을 타고 넘어감. 보안에 취약. 적은 양의 데이터 전송

ex) <a href=” “> / <form action=” “ method=”get”> (생략 시에 기본적으로 get 상태)

-post 방식

보안에 강함. 대용량 데이터 전송

ex) <form action=” “ method=”post”>

 

*쿼리스트링

-사용자가 입력한 데이터를 서버로 전달하는 가장 단순한 방법

-페이지 사이에 정보 교환이 필요한 경우에 사용

 왜? 페이지가 옮겨질때마다 정보는 사라지기 때문에 어떠한 연결 장치가 필요

-?name = leedabin & age = 26 & add = incheon

 <input type=”text” name=”name/age/add”>

 <input> 태그에서 name 속성으로 값을 전달하므로 필수 사항

 

*html에서 <form>의 값을 전송할 때 (둘 다 가능)

<input type=”submit” value=”확인”>

<button  type=”submit” value=”확인”>

 

*사용자가 <form>에 입력한 값을 얻어오는 방법

request 객체의 getParameter() 메서드를 호출하여 값을 읽어옴

String name = request.getParameter(“name”);

String age = request.getParameter(“age”);

String add = request.getParameter(“add”);

cf) 배열의 경우 -> String items[] = request.getParameterValues(“item”);

 

*jsp파일에서 js파일 가져와서 사용하기

<script type=”text/javascript” src=”qwer.js”></script>

 

*스트림

-자바에서 입출력 과정이 가능하도록 하는 객체를 말함

-스트림은 사용이 끝나면 꼭 닫아주어야함

-ex) PrintWriter - 파일의 입출력을 위해서 제공해주는 자바 클래스

'JSP' 카테고리의 다른 글

자바 빈  (0) 2020.08.22
쿠키와 세션  (0) 2020.08.21
JSP 내장객체 / 액션태그 / 리다이렉트 / 포워드  (0) 2020.08.17
JSP  (0) 2020.08.16
웹 서버  (0) 2020.08.15