반응형
<%@ 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 의 대한 예제를 만들어 봤습니다. 감사합니다.
반응형
'코딩 > JSP' 카테고리의 다른 글
Java 웹 개발에서 cookie.setPath() 메서드 활용하기 (0) | 2023.05.31 |
---|---|
Java Servlet에서 request.getParameterValues() 메서드 이해하기 (0) | 2023.05.30 |
@WebFilter("") 애너테이션: 자바 웹 애플리케이션에서 필터 기능 활용하기 (0) | 2023.05.28 |
"Java에서 WAS(Web Application Server)란 무엇인가요?" (0) | 2023.05.27 |
@WebServlet("") 애너테이션에 대해 알아보자 (0) | 2023.05.26 |
댓글