티스토리 뷰

🎯 서블릿의 핵심 기능(교안 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값");





 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함