뇨내

[Servlet] 기초 본문

Server

[Servlet] 기초

삐옥 2022. 1. 14. 14:03

 

 

Servlet : HTML 코드 출력문제

JSP : 스파게티 코드문제

 

 


 

웹 서버 프로그램?

 

- 과거 : 사용자가 어떤 폼에 입력 > 요청 > 디비 > 결과물

- 현재 : 클라이언트(=요청자)프로그램 <-> 프로그램 <-> 서버(제공자)프로그램

서버프로그램이 업데이트가 되면 클라이언트도 업데이트..이런식으로 서로 동기화! 되어야함

과거에는 설치와 재설치의 반복으로 업데이트 그러나 현재는 그것이 부담된다.

그래서 웹이라는걸 이용하게 됨

- 소켓, RPC 등등 

데이터 전송도 부담이서 웹이라는 것이 눈에 띄게됨

- 웹은 브라우저가 있어서 요청과 제공을 바로바로 가능하다 요청 응답의 반복 

- 여기에 웹프로그램을 추가하여 우리가 생각하는클라이언트와 서버를 얹을 수 있다. 

- 웹 : 페이지 요청, 페이지 찾기, 페이지 제공

- 정적인 페이지를 전달하는 웹서버의 환경을 디비를 연결해서 동적으로 만들었다.

- CS(클라이언트 + 서버) + 웹이용 

- 프론트엔드 + 백엔드

 

 

 

 

웹 서버 프로그램 + 서블릿

 

- 웹이라는 걸 이용해서 CS를 만들게 된다.

- 웹서버는 코드를 실행해서 디비에서 목록을 문서화해서 돌려준다.

- 웹서버는 기본으로 있지만, 사용자가 요구하는 것이 동적인문서면 실행결과를 돌려줄 무언가필요함 = WAS

- 웹 어플리케이션 서버 : 설치되어있어야함

- Server App

 

 

 왜 Servlet이라 부를까?

- 조각난 서버 어플리케이션이지 않을까 (확실x)

 

 

 

 Context = 가상경로

루트 사이트 특정 디렉토리를 맡아서 별개의 사이트를 만든다.

하지만 같은 사이트의 경로로서 돌아가게끔 보이게하는것

 

예시

 

상황1. 규모가 작은경우

컴퓨터 > IT > news.txt(판교의 it회사입니다.) =======> 톰캣통해 요청 " 판교의 it 회사입니다." 출력

 

상황2. 규모가 큰경우

나눠야함

 


 

Servlet 서블릿

 

- 웹 서버측에서 자바를 사용한 프로그램을 동작시키는 기술(환경)
- 목적: 동적으로 웹페이지를 만들기 위해서

 

Sevlet Class, 서블릿 클래스
자바 클래스
- 알바생

 

 Servlet Class 작성규칙

 

서블릿 클래스 선언 > doGet/doPost > 작성 > 가상주소

 

1. 서블릿 클래스 선언
a. javax.servlet.Servlet 인터페이스를 구현한다. > 복잡함
a. javax.servlet.http.HttpServlet 클래스를 상속받는다. > 간편함 > 선택  

2. doGet/doPost 메소드 선언
- 둘 중 하나 선언 or 둘 다 선언
- 클라이언트(브라우저)의 요청이 들어오면 자동으로 호출되는 메소드
- 동적으로 HTML 페이지를 만드는 역할
- 메소드 작성 규칙
a. 매개변수 작성(2개)
1. java.servlet.http.HttpServletRequest
2. java.servlet.http.HttpServletResponse
b. 예외 미루기
1. java.io.IOExceptoin
2. java.servlet.ServletException

3. 동적 HTML 문서 작성 구현
- HttpServletResponse 객체의 getWriter() 메소드 호출 > PrintWriter 객체 반환
- PrintWriter 객체의 printXXX("<html>")를 사용해서 동적으로 코드를 작성한다.
- 페이지 완성 > 브라우저에게 반환

4. 브라우저가 자바 파일(서블릿=알바생)을 호출할 수 있는 가상 주소 매핑
- web.xml

 

 

 Request

브라우저가 서버에게 페이지(자원)을 요청하는 방식 > Request Method
<form method="POST" action="server.jsp">

1. GET > 데이터를 줘라
2. POST > 데이터를 줄거니 저장해라
----------
3. PUT > 기존의 데이터 정보 중 일부를 수정해라 ≒ UPDATE
4. UPDATE > 기존의 데이터 전체를 수정해라  ≒  UPDATE
5. DELETE > 기존의 데이터를 삭제해라 ≒  DELETE


POST 요청
1. <form method="POST">

GET 요청
1. <form method="GET">
2. <a>
3. location.href
4. F5
5. URL 입력

'Server' 카테고리의 다른 글

[JSP-Eclipse] JSTL  (0) 2022.01.15
[Servlet-Eclipse] setCharacterEncoding("UTF-8") 메소드  (0) 2022.01.15
[Servlet-Eclipse] 작성해보기  (0) 2022.01.15
Comments