20211110 TIL

2021. 11. 10. 16:18

1. Django

2. JAVA

 

3. JSP

  • Web service 의 기본 동작과정을 다시 복습했다. 그 과정에서 Servlet의 개념과 구동 과정을 새로 배울 수 있었다.
    • 동작과정(HTML Form -> Servlet -> JSP)
      1. 사용자(client)가 웹 페이지 form을 통해 자신의 정보를 입력한다.(Request)
      2.  사용자에 의해 요청된 정보는 Servlet의 doGet 혹은 doPost 메서드를 통해 입력한 form에 맞게 DB나 다른 소스를 통해 관련 정보를 얻는다.
      3. 사용자에게 정보와 일치하는 동적 컨텐츠를 생성하여 출력한다.(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();
          	
          	
          	}
          }

ㅇ회고

  • 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

BELATED ARTICLES

more