티스토리 뷰
반응형
더하기 프로그램!
프로그램이라고 할 것도 없지만 일단 만들어보자!
Add.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Add" method="post">
<div>
<label>두개의 숫자를 입력</label>
</div>
<div><input type="text" name="x"/><input type="text" name="y"/></div>
<div>
<input type="submit" value="더하기" />
</div>
</form>
</body>
</html>
Add.java
package com.newlecture.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;
@WebServlet("/Add")
public class Add extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
int x = Integer.parseInt(request.getParameter("x"));
int y = Integer.parseInt(request.getParameter("y"));
out.println(x+y);
}
}
크게 설명할 것도 없다. 이전에 썼던 코드들을 조금만 변형해서 그냥 넣으면 된다!
자~ 이제 버그 투성인 이 프로그램 결과도 한번 보자!
문자나 공백 입력시 버그가 발생한다! 버그는 뭐 지금 수정하긴 그렇고... 일단 요기까지!
"뉴 렉처"님의 코드도 한번 확인해보자!
package com.newlecture.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;
@WebServlet("/Add")
public class Add extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8"); //UTF-8로 인코딩해서 출력
response.setContentType("text/html; charset=UTF-8"); //브라우저야 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);
}
}
}
x, y값을 문자열로 받아와서 임시변수에 저장 후
그리고 x, y 기본값을 0으로 설정해두셨다.
if문에서 문자열이 비어있지 않을 경우 임시변수의 값을 x, y에 대입해 결과값을 얻는다.
어려운 코드는 아니지만 확실히 내가 짠,,, 계산만 있는 코드랑은 완전히 다르네;ㅋ
반응형
'Servlet JSP' 카테고리의 다른 글
입력 데이터 배열 전달 (0) | 2021.04.23 |
---|---|
여러 개의 Submit버튼 사용!(feat. 개발자도구를 통한 분석) (0) | 2021.04.23 |
서블릿 필터 Servlet Filter (0) | 2021.04.22 |
전달 할 내용이 많을 경우에는 역시 POST(feat. 오류 및 문제해결) (0) | 2021.04.22 |
사용자 입력으로 Get요청 (0) | 2021.04.22 |
댓글
공지사항