SOCO

계산기 만들기 본문

백/Servlet,JSP(잠시 pause)

계산기 만들기

ssooda 2021. 7. 1. 15:46

1. 내가 쓴 코드

@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 num1 = Integer.parseInt(request.getParameter("num1"));
		int num2 = Integer.parseInt(request.getParameter("num2")); 
		int result = num1 + num2 ;
		
		out.println("덧셈 결과 : " + result);
	}

 

2. 선생님 코드

@WebServlet("/add") // -> 매핑 위한 annotation
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");
		
        //입력시 인코딩은 필터로 함 -> 필터 파일에 annotation
        
        //사용자에게 x,y라는 키 값을 받음 -> ?x=() 이렇게 url 바꾸면 키 값 전달받는 것임
		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);
        
	}