티스토리 뷰

728x90
<%@ 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="<%=request.getContextPath()%>/Exam10Of1Controller">
		<ul>
			<li><label for="data1">첫번째 수</label><input type="text" id="data1" name="data1" /></li>
			<li><label for="data2">두번째 수</label><input type="text" id="data2" name="data2" /></li>
			<li>
				<ul>
					<li><label for="plus">더하기</label><input type="radio" name="type" id="plus" value="plus" /></li>
					<li><label for="minus">빼기</label><input type="radio" name="type" id="minus" value="minus" /></li>
					<li><label for="multi">곱하기</label><input type="radio" name="type" id="multi" value="multi" /></li>
					<li><label for="divice">나누기</label><input type="radio" name="type" id="divice" value="divice" /></li>
				</ul>
			</li>
			<li><button>계산하기</button></li>
		</ul>
	</form>
</body>
</html>
import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import kr.co.goodee39.ch10.service.Exam10Of1Service;

/**
 * Servlet implementation class Exam1Controller
 */
@WebServlet("/Exam10Of1Controller")
public class Exam10Of1Controller extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Exam10Of1Controller() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 인코딩 타입 설정
        request.setCharacterEncoding("UTF-8");
		/* //이곳에서 바로 계산 수행가능하지만 service 따로 제작해보기
		 * int data1 = Integer.parseInt(request.getParameter("data1"));
		 * int data2 = Integer.parseInt(request.getParameter("data2"));
		 * String type = request.getParameter("type");
		 * 
		 * if(type.equals("plus")) {
		 * request.setAttribute("result", data1+data2);
		 * }
		 * else if(type.equals("minus")) {
		 * request.setAttribute("result", data1-data2);
		 * }
		 * else if(type.equals("multi")) {
		 * request.setAttribute("result", data1*data2);
		 * }
		 * else {
		 * request.setAttribute("result", data1/data2);
		 * }
		 */
		
		//Servlet은 결과 전달만
		Exam10Of1Service service = new Exam10Of1Service();
		service.getCalc(request);
		
		RequestDispatcher rdp = request.getRequestDispatcher("/ch10MVC/example1_result.jsp");
		rdp.forward(request, response);
			
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
import javax.servlet.http.HttpServletRequest;

public class Exam10Of1Service {
	public void getCalc(HttpServletRequest request) {
		//Exam10Of1Controller내용 가져오고, Controller는 주석처리
		//Service에서 연산처리
		int data1 = Integer.parseInt(request.getParameter("data1"));
		int data2 = Integer.parseInt(request.getParameter("data2"));
		String type = request.getParameter("type");
		
		if(type.equals("plus")) {
			request.setAttribute("result", data1+data2);
		}
		else if(type.equals("minus")) {
			request.setAttribute("result", data1-data2);
		}
		else if(type.equals("multi")) {
			request.setAttribute("result", data1*data2);
		}
		else {
			request.setAttribute("result", data1/data2);
		}
	}
}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
	int result = (Integer)request.getAttribute("result");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>연산결과 : <%=result %></h1>
</body>
</html>

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함