Corgi @webservlet() 실습 예제
본문 바로가기
코딩/JSP

@webservlet() 실습 예제

by 짱아아빠 2023. 5. 29.
반응형
<%@ 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>
	<form action="Add" method="post">
		<label>계산할 값을 입력 하세요.</label>
		<div>
			<input type="text" name="x" />
		</div>
		<div>
			<input type="text" name="y"/>
		</div>
		<div>	
			<input type="submit" value="계산"/>
		</div>
	
	</form>
</body>
</html>

위 코드와 같이 기본 html을 만들었습니다. 내용으로는 input칸에 입력된 숫자들의 합을 계산하는 코드를 만들어 봤습니다.

 

x+y= 이 계산을 만든것 인데요.

 

form을 사용해서 value="계산"이라는 값을 가지는 submit 즉 계산버튼을 누르면 값이 Add로 넘어가 계산되게 됩니다.

 

package test;

import java.io.IOException;
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("/Add")
public class Add extends HttpServlet {
	
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setCharacterEncoding("UTF-8");
		response.setContentType("test/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);
	}

}

위와 같이 @WebServlet("/Add")이 부분이 이미테이션이라고 불르는 것입니다 공부를 하신분이라는 아는 내용이겠죠?^^

 

요기서 input x,y에서 넘오는 값이 문자열이기에 String 으로 변수를 선언해서 requst.getParameter()를 통해 가져옵니다.

if문을 통해 값이 null이 아닐떄 integer.parseInt()를 통해 문자열을 정수로 바꿔서 저장한다음 result 변수에 계산한 값을 저장하여 줍니다.

이 저장한 값을 response.getWriter().printf("result is %d\n",result); 처럼 사용해서 화면에 결과를 나타내줍니다.

 

이상으로 @WebServlet 의 대한 예제를 만들어 봤습니다. 감사합니다.

반응형

댓글