JAVA/웹 프로그래밍 - JSP
수 입력 받아서 홀수/짝수 판단하기
DesignatedRoom
2020. 11. 4. 22:29
form과 form을 처리하는 jsp로 나눠서 구현한다.
form처리 jsp에는 결과만 넘겨받는다.
그리고 form 처리 방식에서는 처리와 view를 같이 했다.
즉, 처리하고 화면에 보여주는 일을 다 한다.
그런데 지금은 아래의 양식으로 한다.
form-> form 처리(서블릿이 처리) -> 화면에 출력(html)
결과를 전달 시에 setAttribute함수로 하고 dispatcher로 날린다.
위를 이용해 홀수 짝수인지 처리 3단계로 처리한다.
form에서는 url이 전달이 된다. 서브밋 버튼이 눌리면 oddnum.jsp가 oddnum_proc.jsp로 정보가 넘어간다.
oddnum.jsp는 웹 페이지에서 수를 입력받고
oddoddnum_proc.jsp 에서는 웹 페이지에서 입력 받은 수가 짝수/홀수 판정하고
oddnum_view.jsp 에서는 결과를 출력한다.
문제에 앞서 response.sendRedirect함수가 호출이 되면 어떻게 되는지 알아보자.
redirect_naver.jsp를 실행하면 네이버에 접속하는 것을 볼 수 있다.
이것이 response.sendRedirect함수의 기능이다.
redirect_naver.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>
<%
// 사이트로 이동
response.sendRedirect("http://naver.com");
%>
</body>
</html>
oddnum.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>
<form action="oddnum_proc.jsp">
<input type="text" name="x"><br>
<input type="submit" value="홀수짝수계산">
</form>
</body>
</html>
oddoddnum_proc.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>
<%
int x = Integer.parseInt(request.getParameter("x"));
String result = "짝수";
if (x % 2 == 0) result = "짝수";
else result = "홀수";
System.out.println("결과 : " +result); // 콘솔 창으로 확인
request.setAttribute("result",result); // 채운 값을 oddnum_view.jsp로 넘긴다.
// sendRedirect함수의 역할은 oddnum_view.jsp로만 이동을 한다.
// 이 때 값을 실어서 같이 넘겨야 한다면 RequestDispatcher를 이용해야 한다.
// 아래의 두 문장이 없으면, 출력 jsp에서 그 결과값이 null이 나온다.
RequestDispatcher dispatcher=request.getRequestDispatcher("oddnum_view.jsp");
dispatcher.forward(request,response);
%>
</body>
</html>
oddnum_view.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>
결과 : <%=request.getAttribute("result") %>
</body>
</html>
oddnum.jsp 를 실행해보자. 각 각 7과 8을 입력했을 때의 내용이다.