JSP Servlet

bow Rain·2021년 11월 13일
0

개발 관련 정리

목록 보기
4/19
post-thumbnail

JSP(Java Server Page)

HTML 코드와 JAVA코드를 같이 사용해서 동적인 웹페이지를 구성하는 웹 어플리케이션 도구 (HTML 기반이라 View단에서 사용됨) 컴파일 후 Servlet으로 변환되어서 WAS(Web Aplication Server)로 올라가서 구동되게된다.

단 이 변환 과정은 단 한번만 일어나므로 같은 페이지에 수많은 요청이 있더라도 처리 속도에는 영향이 없다.

서블릿과 차이점 :
Java 코드안에 HTML을 삽입해서 HTML 코딩이 매우 불편하기 때문에 HTML을 기반으로 내부에 Java코드를 태그로 삽입하는 형식이 JSP이며 서블릿 기반 스크립트 기술임 마찬가지로 Server Side Language이다.

Servlet(Server Aplication Let)

JAVA 코드 안에 HTML 코드를 같이 사용 웹 기반 요청에 대한 동적으로 생성하거나 데이터 처리가 가능한 Server Side Language Java 기반의 코드 안에 HTML태그가 삽입되며 .java가 확장자이다.

자바언어를 웹 어플리케이션에 개발하기 쉽게 만든 API이며 규약에 맞는 라이브러리나 클래스들을 상속 및 구현하여 만든 클래스들을 서블릿이라한다.

Web Service의 기본적인 동작 사용자가 HTML Form을 통해 자신의 정보를 Input

요청을 보낼 서버의 IP 주소 : Port 번호 / App 이름 / 달라고 요청하는 HTML
Ex) localhost:8080/FormHandlingServlet/LoginForm.html

<form name="loginForm" method="post" action="loginServlet">
    Username: <input type="text" name="username"/> <br/>
    Password: <input type="password" name="password"/> <br/>
    <input type="submit" value="Login" />
</form>

method : 원하는 동작에 따라 HTTP 메서드를 사용 POST & GET

action : 해당 URL로 Request가 감 WAS의 어떤 Servlet인지 지정

type : 버튼을 누르면 사용자가 입력한 데이터를 Servlet에 넘겨줌

Get : 사용자가 입력한 Form Data가 URL 뒤에 텍스트 문자열로 추가되며
평문을 그냥 볼수있어서 보안성 취약함 데이터를 보낼때 key, value 형식으로 보냄, 크기 제한이 있다.(4096Byte)

Post : 사용자가 입력한 Form Data를 HTTP 헤더의 PAYLOAD에 별도의 메세지로 보낸다.
그렇기 때문에 크기에 제한이 없음 Get보다 보안성에서 안전하다.

Servlet의 LifeCycle :
init() -> service(request,response) -> destroy()

init() : 한번만 수행, 클라이언트의 오청에 따라 그에 맞는 Servlet이 생성되고 Servlet이 메모리에 로드될때 호출됨 Servlet객체를 초기화하는 역할을한다.

service(request,response) : 메서드는 request의 type GET, POST, PUT, DELETE등에 따라 적절한 doGet, doPost, doPut, doDelete 메소드 재정의 한다.

destroy() : 한번만 수행, WAS가 종료될때 호출, Serblet 객체를 메모리에서 제거하는 역할을한다.

Servlet Annotations :
xml에서 설정하는 방법도 있지만 복잡하니
@WebServlet("/mainpage")
@WebServlet : 서블릿 선언
@WebInitParam : 초기화 매개 변수 지정

0개의 댓글