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을 입력했을 때의 내용이다.