▶ jakarta.servelt .http.HttpServlet
- http 프로토콜 서비스를 지원하는 추상 클래스
-> 상속 받아서 사용
- 해당 클래스르 상속 받았다고 해서
클라이언트의 요청을 받아서 처리할 수 있는
진짜 Servlet이 된 것은 아니다!!!!!!
[Servlet 등록 절차]
1. web.xml에 직접 작성하는 방법
-> src/main/webapp/WEB-INF 폴더 내에 존재함
#예제1
[html]
<div>
이름 : <input type="text" name = "inputName">
</div>
<div>
나이 : <input type="number" name = "inputAge">
</div>
<button type="submit">제출하기</button>
[java]
package edu.kh.servlet.controller;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class ExampleServlet1 extends HttpServlet {
// 제출된 GET 방식 요청을 처리하는 메서드
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("/ex1 GET 방식 요청 처리를 위한 메서드 수행");
String inputName = req.getParameter("inputName");
String inputAge = req.getParameter("inputAge");
System.out.printf("%s의 나이는 %s세 입니다\n", inputName, inputAge);
//-------------------------------------------------------------
/*서버 -> 클라이언트 응답 처리*/
/*
* 1) 서버에서 HTML 코드를 만들어
* 클라이언트에게 전달 == 응답(response)
*
* 2) 클라이언트의 브라우저가
* 응답받은 HTML 코드를 해석해
* 화면을 보여줌
*/
// 응답처리 1. 응답하는 문서의 형식과 문자 인코딩 지정
resp.setContentType("text/html; charset = UTF-8");
// text/html : 글자로된 HTML 형식의 문서다
// -> MIME Type :
// 인터넷으로 전달되는 데이터/파일의 형식을 구부하는 것
// charset : 문자 인코딩
// UTF-8 : 유니코드를 위한 가변 길이 문자 인코딩 방식
// - 영어, 숫자, 기본 특수문자 : 1byte
// - 나머지(한글, 한문 등) : 3byte
// *응답 처리 2* : 출력용 스트림 얻어오기
PrintWriter out = resp.getWriter();
// *응답 처리 3* : 출력할 HTML 코드 만들기
StringBuilder sb = new StringBuilder();
sb.append("<!DOCTYPE html>");
sb.append("<html>");
sb.append("<head>");
sb.append("<title> /ex1 응답 페이지 </title>");
sb.append("</head>");
sb.append("<body>");
sb.append("<h1>응답 페이지 입니다.</h1>");
sb.append("<ul>");
sb.append("<li>입력 받은 이름 : "+ inputName + "</li>");
sb.append("<li>입력 받은 나이 : "+ inputAge + "</li>");
sb.append("</ul>");
sb.append("</body>");
sb.append("</html>");
//*응답 처리 4* : 출력 스트림을 이용해
// 클라이언트에게 HTML 코드 출력(응답)
out.write(sb.toString());
}
}
#결과

#예제2
[html]
<form action="/ex2" method="GET">
<h3>입력 받은 두 수 연산하기</h3>
<div>
입력 1 : <input type="number" name = "input1">
</div>
<div>
입력 2 : <input type="number" name = "input2">
</div>
<!-- radio -->
<!-- radio : name 속성 값이 일치하는 요소들 중 하나만 선택 -->
<h6>연산자 선택</h6>
<div>
+ <input type="radio" name = "op" value="plus" checked>
- <input type="radio" name = "op" value="minus">
* <input type="radio" name = "op" value="multi">
/ <input type="radio" name = "op" value="div">
% <input type="radio" name = "op" value="mod">
<button type="submit">계산하기</button>
</div>
</form>
#결과

'BackEnd > Java' 카테고리의 다른 글
| [Servlet/JSP]EL/JSTL 예제 (0) | 2024.08.16 |
|---|---|
| [Servlet/JSP]EL/JSTL (0) | 2024.08.16 |
| [Servlet/JSP] Servlet을 이용한 예제 (0) | 2024.08.16 |
| [Servlet/JSP] 알고 있어야 할 선수 지식 및 웹 개발 상식 (0) | 2024.08.16 |
| [Servlet/JSP]JSP란? (0) | 2024.08.16 |