20211110 TIL
2021. 11. 10. 16:18
1. Django
2. JAVA
3. JSP
- Web service 의 기본 동작과정을 다시 복습했다. 그 과정에서 Servlet의 개념과 구동 과정을 새로 배울 수 있었다.
- 동작과정(HTML Form -> Servlet -> JSP)
- 사용자(client)가 웹 페이지 form을 통해 자신의 정보를 입력한다.(Request)
- 사용자에 의해 요청된 정보는 Servlet의 doGet 혹은 doPost 메서드를 통해 입력한 form에 맞게 DB나 다른 소스를 통해 관련 정보를 얻는다.
- 사용자에게 정보와 일치하는 동적 컨텐츠를 생성하여 출력한다.(Response)
- HTML Form Tag 속성
- action : form을 전송할 서버 쪽 스크립트 파일을 지정한다.
- name : form 식별을 위해 이름을 지정한다.
- method : form을 서버에 전송하는 방식으로 HTTP 메서드를 GET 혹은 POST 방식으로 지정한다.
- accept-charset : form 전송에 사용할 문자 인코딩을 지정(한글을 처리하려면 "UTF-8" 방식으로 인코딩한다.)
- Servlet이란?
- 웹 기반의 요청에 대한 동적인 처리가 가능한 일종의 클래스
- 자바 코드 안에 HTML 태그가 삽입되며 확장자는 ".java"다.
- 자바 언어를 통한 웹 어플리케이션 구현의 효율성을 향상시키기 위해 만들어진 API이며, 이 규약에 맞는 라이브러리나 클래스들을 상속 및 구현하여 만드는 클래스이다.
- 클라이언트가 요청하고, 그 결과를 다시 클라이언트에게 전송하는 자바프로그램이라고 할 수 있다.
- Servlet Mapping
- 특정 servlet을 요청할 때, 전체 경로의 URL을 사용하게 되면, 유지보수가 어렵고 보안에 취약해진다. 따라서 보다 간략하게 표현해주는 방식을 뜻한다.
- 1) web.xml을 이용하는 방식
-
<!-- web.xml --> <servlet> <!-- 임의의 이름을 만들어준다. --> <servlet-name>helloServlet</servlet-name> <!-- 매핑할 클래스 파일명,패키지명을 포함하여 정확하게 입력 --> <servlet-class>com.java.suvlet.Servlet01</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloServlet</servlet-name> <url-pattern>/hello</url-pattern> <!-- url패턴은 반드시 /를 앞에 붙이고 입력시킨다. --> </servlet-mapping>
-
public class Servlet01 extends HttpServlet { private static final long serialVersionUID = 1L; //직렬화키 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("UTF-8"); //한글처리 >> UTF-8로 웹브라우저에 전송. response.setContentType("text/html; charset = UTF-8"); // 웹 브라우저에게 html 문서를 UTF-8로 해석할 것을 요청 PrintWriter out = response.getWriter(); // 웹 브라우저에게 출력하기위한 출력스트림을 얻기. //자바코드 안에 html코드를 작성(자바 방식으로 출력) out.println("<!DOCTYPE html>"); out.println("<html"); out.println("<head>"); out.println("<title>Servlet Start</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello Servlet!</h1>"); out.println("</body>"); out.println("</html>"); out.close(); } }
- 동작과정(HTML Form -> Servlet -> JSP)
ㅇ회고
- 100KM running 진행 중 ( 40/100)
- 생활 코딩 'docker' 강의 듣기.
- 능력 안에서 구현 할 수 있는 장고 토이프로젝트 기획해보기.
- 조바심 내지 않기.
- 어제의 '나' 보다 잘하자.
- 그냥 하는 사람이 압도적이다.
'TIL' 카테고리의 다른 글
20211116 TIL (0) | 2021.11.16 |
---|---|
2021112-20211113TIL (0) | 2021.11.14 |
20211109 TIL (0) | 2021.11.09 |
20211108 TIL (0) | 2021.11.09 |
20211103 TIL (0) | 2021.11.04 |