각진 세상에 둥근 춤을 추자

[JSP] Eclipse - Servlet8: 사용자 입력을 통한 덧셈 계산 요청 본문

JSP

[JSP] Eclipse - Servlet8: 사용자 입력을 통한 덧셈 계산 요청

circle.j 2022. 10. 24. 10:53

 

 

 

(이전 게시글)

2022.10.24 - [JSP] - [JSP] Eclipse - Servlet7: Servlet Filter

 

[JSP] Eclipse - Servlet7: Servlet Filter

(이전 게시글) 2022.10.23 - [JSP] - [JSP] Eclipse - Servlet6: 사용자 입력을 통한 POST 요청 [JSP] Eclipse - Servlet6: 사용자 입력을 통한 POST 요청 (이전 게시글) 2022.10.23 - [JSP] - [JSP] Eclipse - S..

this-circle-jeong.tistory.com

 


1. 입력 폼 작성하기

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>덧셈 계산기 웹 프로그램</title>
</head>
<body>

	<form action="add" method="post">
		<div>
			계산할 값을 입력하세요
		</div>
		<div>
			<label>x: </label>
			<input type="text" name="x"/>
		</div>
		<div>
			<label>y: </label>
			<input type="text" name="y"/>
		</div>
		<div>
			<input type="submit" value="더하기"/>
		</div>
	</form>

</body>
</html>

 


2. 서블릿 생성하기

 

(1) [com.circle.web]패키지 마우스 우클릭 - [New] - [Servlet]

 

 

 

(2) 클래스명 입력 - [Next]

 

 

 

(3) URL mappings 이름 확인 

 

 

 

(4) Add.java (서블릿) 작성 (코린이 버전)

 

package com.circle.web;

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;

import org.apache.catalina.connector.Response;

@WebServlet("/Add")
public class Add extends HttpServlet {
	
    @Override
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        // 인코딩 방식 지정
        response.setCharacterEncoding("UTF-8");

        // 받는 Content Type 지정 (html 문서, UTF-8로 읽어라!)
        response.setContentType("text/html; charset=UTF-8");

        PrintWriter out = response.getWriter();

        String x_ = request.getParameter("x");
        String y_ = request.getParameter("y");

        int x = Integer.valueOf(x_).intValue();
        int y = Integer.valueOf(y_).intValue();

        int sum_ = x + y;
        String sum = String.valueOf(sum_);

        out.println(sum);
    }

	
}

 

 

(5) Add.java (서블릿) 작성 (코마스터 뉴렉처님 버전)

package com.circle.web;

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;

import org.apache.catalina.connector.Response;

@WebServlet("/Add")
public class Add extends HttpServlet {
	
    @Override
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
    	response.setCharacterEncoding("UTF-8");
    	response.setContentType("text/html; charset=UTF-8");
    	
		String x_ = request.getParameter("x");
		String y_ = request.getParameter("y");
    
    	int x = 0;
    	int y = 0;
    		
    	if(!x_.equals("")) x = Integer.parseInt(x_);
    	if(!y_.equals("")) y = Integer.parseInt(y_);
    	
    	int result = x+y;

    	response.getWriter().printf("result is %d\n", result);
    	
    }

	
}