🎯 서블릿의 핵심 기능(교안 p.40)
1️⃣ 요청처리 기능
html의 사용자 입력 태그에 값을 지정하고 submit 버튼을 선택하면 서버에 파라미터가 전달된다.
요청받은 서블릿은 HttpServletRequest 객체의 메서드를 사용하여 요청 파라미터 값을 얻을 수 있다.
📌 실행순서
1. 사용자 입력 태그를 가진 html (jsp) 작성
- loginForm.jsp
- <form action=”서블릿맵핑” method=”get|post”>
New jsp file 생성
코드 작성
2. 사용자 입력 값을 얻기 위한 서블릿 작성
- LoginServlet ( 서블릿맵핑: /login )
- method=”get” ⇒ doGet 으로 처리
- method=”post” ⇒ doPost 으로 처리
만약 일치하지 않으면 405 에러가 발생됨
2️⃣ 응답처리 기능
- html 작성해서 웹 브라우저로 전송하는 기능
- doGet ( request, HttpServletResponse response) {}의 HttpServletResponse 담당한다.
- 처리 순서
MIME 타입 설정 (Multipurpose Internet Mail Extensions)
⇒ 웹 브라우저에게 처리할 데이터 종류 지정하는 방법
⇒ response.setContentType(”MIME타입”);
- 데이터를 전달하기 위한 java I/O 얻기 ( Input / Outpunt, 읽기/쓰기 )
import java.io.PrintWriter;
PrintWriter out = response.getWriter();
- 데이터 출력
out.print(”html코드”);
✅ MIME 확인 방법 servers - web.xml - 644라인 부터
- text/plain : 기본, 일반 문자열로 처리
- text/html : html로 처리
- text/html; charset=utf-8 : html 처리 및 한글 처리 response.setContentType(”text/html; charset=utf-8”);
📝 “text/plain”
📝 "text/html"
📝 "text/html;charset=utf-8"
✅ MIME 타입 지정시 주의할 점
⇒ 값을 잘못 지정하면 (ex> “test/html”)
웹 브라우저가 처리를 못하기 때문에 다운로드해서 사용자에게 처리하도록 유도
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
// 요청 URL: http://localhost:8090/01_servlet/test
@WebServlet("/test3")
public class TestServlet3 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 요청처리
// 응답처리
// 가. MIME 타입 지정
response.setContentType("test/html;charset=utf-8");
// 나. java i/o 얻기
PrintWriter out = response.getWriter();
// 다. 출력
out.print("<html><head>");
out.print("<meta charset=\"UTF-8\">");
out.print("<title>Insert title here</title>");
out.print("</head>");
out.print("<body>");
out.print("<h1>Hello, 서블릿 실습~~~</h1>");
out.print("</body></html>");
}
}
📌 주요 메서드
1) String s = request.getParameter("tag의 name값");
만약에 일치하는 name이 없으면 null 반환된다.
GET 방식으로 요청한 경우에는 한글이 안 깨짐. (post는 한글 깨짐)
Post 방식의 한글처리는 request.setCharacterEncoding(”utf-8”); 사용한다.
2) String [] arr = request.getParameterValues("tag의 name값");
'Programming Language > SERVLET' 카테고리의 다른 글
서블릿 (servlet) - Scope (0) | 2023.08.10 |
---|---|
서블릿 (servlet) - ServletConfig vs ServletContext (0) | 2023.08.10 |
서블릿 (servlet) - 서블릿 lifecycle (0) | 2023.08.09 |
서블릿 (servlet) - 특징과 구현방법 (0) | 2023.08.09 |
Servlet & JSP - 실습 (0) | 2023.08.08 |