Daily coding
Servlet : Server와 Client, Sevlet의 개념 본문
Web <== 통신 ==> Java <== 통신 ==> DB
server :
: 클라이언트의 요청에 따라 웹 페이지를 가져오거나 데이터를 가져오는 등의 응답을 보내는 역할 수행
- WAS : Web Application Syetem - 웹 서버 안에 들어가있음
*server + container
- Server는 크게 server와 container로 구성되어 있다.
- container는 session과 folder를 가지고 있음(파일 저장용)
- server 는 Client의 요청을 받아(request) 필요한 데이터를 전송(response)하는 역할을 수행한다
- server에는 JSP 와 Servlet 이 있다 ( 같은 기능을 수행하며, 돌아가는 프로그램 및 언어가 다르다)
( Servlet : java / JSP : javaScript )
* Servlet & JSP
: Servlet과 JSP는 같은 역할을 수행하지만 (클라이언트의 요청사항을 받아 데이터 가공 및 처리),
구현 방식에 차이가 있다.
Servlet | JSP |
Java -> HTML | HTML -> java |
Business Logic을 짜거나 DB와 통신할 때 좋다 | 화면 구성이 용이하다 |
Controller(MVC) 로 사용하기 좋음 (data processing) | View(MVC)로 사용하기 좋음 |
Servlet이 수정된 경우, Java 코드를 컴파일(.class 파일 생성)한 후 동적인 페이지를 처리하기 때문에 전체 코드를 업데이트 및 재컴파일한 후 재배포 작업이 필요 (개발 생산성 저하) |
JSP가 수정된 경우 재배포할 필요가 없이 WAS가 알아서 처리 (쉬운 배포) |
웹 개발을 위한 표준이 존재함 | Servlet를 보완하고 기술을 확장한 스크립트 방식 표준 (Servlet의 모든 기능 + 추가적인 기능) |
참고 사이트 : https://gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html
* Servlet : 클라이언트와 서버의 요청과 응답의 순서 알아보기
- client에서 request(요청)이 들어옴
- 요청이 들어오면 서버에서 container 에 들어있는 html코드를 찾는다
- 찾은 코드를 다시 client에게 보내줌 (response)
- server안에 servlet, jsp 내장되어있음
- servlet / JSP 은 client의 요청을 해석하는 역할
- sever는 2가지 방식으로 나뉘어져 있음 (접근영역이 달라짐)
( GET / POST )
- client에서 server로 요청은 url 또는 링크로 전송한다
- 현재 프로젝트를 확인하는 방식 : (주소창) localhost (또는) IPv4 :portnum/project
* Servlet
: Server + Applet
( ※ Node.js : Web <==통신==> DB, 자바없이 바로 웹에서 디비와 통신하는 방식 )
< 방식 >
Web Browser(client) web Application Server(=System) = WAS
(Servlet: *.html, *.jsp, *.php)
client <---- request(요청)------ > Web (Server + Container) <-(MyBatis)-> DB
* request : http://x.x.x.x:8090/project명/index.html
- url예시, 일반적으로 도메인네임 사용
- index라는 이름으로 자동적으로 접속이 됨 ( web.xml 에서 자동 설정된 경우)
* web.xml
- web.xml : server(WAS)가 동작했을 때 자동 초기화되고 세팅되는 데이터
- link (<a>태그 등으로 설정)로 만들 수 있음
* get /post방식
- get : 넘어가는 데이터가 링크에 보이도록 하는 방식, 가벼움 (255바이트까지만 가능)
- post : 넘어가는 데이터가 보안이 적용되어 감추어지는 방식 (로그인 화면 등에서 사용)
- client 쪽에서 method 방식을 설정한다 ( form태그의 method 프로퍼티를 설정 )
< Client.html 코드 >
<h1>Servlet Basic</h1>
<form method="GET" action="location">
<!-- method의 default는 GET, link를 만들어서 서버쪽으로 데이터를 가지고 가야함 -->
<input type="submit" value="get 방식">
</form>
<form method="POST" action="location">
<!-- method의 default는 GET, link를 만들어서 서버쪽으로 데이터를 가지고 가야함 -->
<input type="submit" value="post 방식">
</form>
'Front-end > 비동기통신' 카테고리의 다른 글
Servlet : 서버와 연결하기 2 ( Java Servlet 파일 만들기 ) (0) | 2020.01.16 |
---|---|
Servlet : 서버와 연결하기 1 ( web.xml 이란?) (0) | 2020.01.16 |
JSON : 데이터 불러오기 / 데이터 처리하기 (0) | 2020.01.16 |
JSON : 기본 개념 및 사용법 (0) | 2020.01.16 |
XML : xml 파일 및 url 데이터 불러오기 및 parsing (0) | 2020.01.16 |