<!-- HTML 주석 -->
<%-- JSP 주석 --%>
Ex02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>두 수 더하기(에노테이션(1:1) 등록)</h2>
<%-- 입력된 데이터를 서블릿 매핑 이름이 adder인 서블릿으로 전송하라는 의미 --%>
<form action="adder" method="get">
<%-- 텍스트 박스에 입력된 첫번째 숫자를 num1이라는 변수에 저장하여 서블릿으로 전송하라는 의미 --%>
<p>첫번째 수 : <input type="text" name="num1"></p>
<p>두번째 수 : <input type="text" name="num2"></p>
<input type="submit" value="계산">
</form>
<hr>
<h2>두 수 더하기(web.xml 파일에 등록)</h2>
<form action="adder1" method="post">
<%-- 텍스트 박스에 입력된 첫번째 숫자를 num1이라는 변수에 저장하여 서블릿으로 전송하라는 의미 --%>
<p>첫번째 수 : <input type="text" name="num1"></p>
<p>두번째 수 : <input type="text" name="num2"></p>
<input type="submit" value="계산">
</form>
</body>
</html>
AdderServlet.java
package com.sist;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/adder")
public class AdderServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public AdderServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// form 태그에서 method="get"인 경우 실행되는 메서드
// request : 첫번쨰 매개변수
// 사용자(클라이언트)의 요청에 대한 정보를 처리
// response : 두번째 매개변수
// 요청 정보에 대한 처리 결과를 클라이언트에 응답 처리
// 1단계 : 클라이언트에서 넘어온 데이터를 받기 - 사용자가 전송한 데이터를 받기
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
// 응답 시 한글 처리
response.setContentType("text/html; charset=UTF-8");
// 2단계: 처리한 결과를 클라이언트 웹 브라우저에 출력하는 작업.
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head></head>");
out.println("<body>");
out.println("<h1>두 수의 합 >>> " + (num1+num2)+"</h1>");
out.println("</body>");
out.println("</html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
Adder1Servlet.java
package com.sist;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/Adder1Servlet")
public class Adder1Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public Adder1Servlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//method="post"인 경우 데이터 처리하는 메서드
int su1 = Integer.parseInt(request.getParameter("num1"));
int su2 = Integer.parseInt(request.getParameter("num2"));
// 응답 시 한글 처리
response.setContentType("text/html; charset=UTF-8");
// 2단계: 처리한 결과를 클라이언트 웹 브라우저에 출력하는 작업.
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head></head>");
out.println("<body>");
out.println("<h1>두 수의 합 >>> " + (su1+su2)+"</h1>");
out.println("</body>");
out.println("</html>");
}
}
web.xml 등록하기
방식이 다를 뿐 두 가지 결과는 같게 나온다.
단, get 방식은
이렇게 주소창에 변수 값이 표시되지만,
Post 방식은 서블릿 네임만 나타난다.
'Back > Servlet' 카테고리의 다른 글
[Servlet] 서블릿에서 체크박스 요소의 값 받기 (0) | 2021.05.03 |
---|---|
자바 서블릿(Servlet) 기초 (0) | 2021.05.03 |