웹 컨테이너
동적인 데이터 연산, 요청이 들어왔을 떄 서버가 연산을 요청하는 곳
연산이 끝나면 정제된 데이터(html, json, xml, ...)로 서버에 돌려준다
JSP (Java Server Page)
HTML을 중심으로 자바와 같이 연동하여 사용하는 웹 언어이다
HTML 코드 안에 JAVA 코드를 작성할 수 있도록 도와주는 언어이다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
첫번째 작업물 입니다(JSP 파일)
</body>
</html>
서블릿(Servlet)
JAVA 코드 안에서 HTML문서를 작성할 수 있는 JAVA 프로그램이다
JSP 파일은 해석시 서블릿으로 자동으로 변환되고, 변환된 서블릿 파일이 실행하면서 내부 코드로 인해 HTML 파일이 만들어 지게 된다
사용자가 URL 요청 -> web.xml에 매핑해놓은 서블릿 찾기 -> 해당하는 서블릿의 클래스로 요청 전송 -> Thread에 의해 service() 호츨 -> 요청 방식에 따라 doGet() 혹은 doPost()호츨 -> 처리
소멸단계
WAS(Web Server + Web Container)는 response 객체를 HttpResponse 형태(정적인 형태)로 바꿔서 웹서버에 전달하고 생성된 Thread를 종료한다.
그리고 HttpServletRequest HttpServletResponse 객체를 제거한다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>day01</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
package servlet;
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("/test")
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html; charset=utf-8;");
response.setCharacterEncoding("utf-8");
response.getWriter().append("Served at: ").append(request.getContextPath());
response.getWriter().write("첫번째 작업물입니다(Servlet)");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
'BACK-END' 카테고리의 다른 글
[JSP] DB연결 ) Mybatis (0) | 2022.01.31 |
---|---|
[JSP] 스크립트 태그 / 디렉티브 태그 /액션 태그 (0) | 2022.01.25 |
[MySQL]간단한 MySQL 사용 방법(SQL문) (0) | 2022.01.04 |
[ORM] ORM 프레임워크 (0) | 2020.06.17 |
[MySQL] MySQL 과 schema (0) | 2020.06.15 |