서블릿을 공부하기전에 서버와 클라이언트에 대한 이해가 필요하다!
클라이언트(Client)는 웹어플리케이션을 사용하는 측이고,
서버(Server)는 결과를 제공하는 측이다.
클라이언트가 웹브라우저를 통해서 서버에게 요청문을 전달하는 것을 Request(요청)이라하고,
서버에서는 요청에따른 프로세스를 처리하고, 결과를 다시 브라우저로 결과를 송신해주는 것을 Response(응답)이라한다.
| Servlet , 서블릿 |
Server + Applet의 합성어로, 서버에서 실행되는 Applet이라는 의미를 가진다.
Java를 이용하여 웹에서 실행되는 프로그램(html 태그)을 작성.
*javax.servlet.http패키지에서 HttpServlet클래스를 상속받아 사용해야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package first.loginSv.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/controller.do")
public class ggcont extends HttpServlet {
private static final long serialVersionUID = 1L;
public ggcont() {
super();
}
//get방식
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
doPost(request, response); //post로 넘겨주기
}
//post방식
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
}
}
|
cs |
HTTP프로토콜에서 서버에게 값을 전달하는 방식에서
GET 방식과 POST방식을 사용할 수 있는데,
< GET방식 >
GET방식은 값을 <header>에 포함하여 url에 '?'를 사용하여 이어붙여 값을 이동한다.
url에 값을 붙이다보니 길이제한이 있어 많은양의 데이터를 보낼 때와
url에서 전달하는 값이 보이기때문에 비밀번호나 개인정보따위를 취급하는데에는 적합하지 않을수있다.
< POST방식 >
POST방식은 <body>에 포함되어 값이 이동되어 url에서는 보이지 않는다.
그렇기 때문에 많은양의 데이터가 이동할 때, 중요한 데이터를 전달할 때 사용할 수 있다.
(+)
GET은 Select적인 값을 가져오는 '검색'의 성향이 있고,
POST는 서버의 상태나 값을 변경하는 작업을 '수행'의 성향이 있음을 기억하자!!
| JSP , Java Server Page |
Html과 JSP 태그로 구성되어 화면을 작성.
Html에서 Java코드를 작성하는 형태
클라이언트가 요청한 페이지와 쿼리스트링을 서버에 전달하는 역할을 한다( = MVC패턴의 Controller)
* 브라우저의 요청을 받아 WAS(Web Application Server)에 의해 내부적으로 서블릿이 만들어져 실행된다.
❖ 서블릿과 JSP ?
서블릿(Servlet)과 JSP는 작성방법에 차이가 있을뿐 결과적으로 동일한 역할을 한다.
( = Controller,컨트롤러 )
.
.
.
이제 서블릿과 jsp, 그리고 MVC구조에 대한 어느정도 이해를 했으니
본격적으로 게시판만들기를 시작해보고자 한다!
앞으로 게시판을 만들기위한 나의 개발환경은 아래와 같다('v')
- JDK : Java SE Development Kit 11
- Server : Apache Tomcat v9.0
- DB : Oracle 11g XE(express edition)
'Java' 카테고리의 다른 글
[Java] 가변인자 (Varargs) / ... 연산자 (0) | 2022.01.16 |
---|---|
[Java8] Stream(스트림) - map/filter/sort/distinct (0) | 2021.11.24 |
[Java] DAO/DTO 객체 (0) | 2019.04.21 |
[Java] MVC패턴 이해하기 (0) | 2019.04.20 |
[Java]자바 주사위 게임 (2인플레이) (0) | 2019.03.05 |