[Servlet] 4. 첫값부터 끝값까지 합계 구하기

입력받은 첫값부터 끝값까지의 합 구하는 창

기본적으로, sum.jsp도 html과 똑같다. <% %>를 사용하지않는이상 차이가 없다.

SumServlet.java는 doGet메서드안에서 입력된 정수값을 인코딩하고, 값을 변수에 저장한다. 

그리고 반복문을 통해서

 

범위안의 합계를 브라우저에 출력한다.


sum.jsp에서

 

앞전의 Servlet 코드와 거의 같다고 보면 될 것 같아요.

 

기본적인 틀을 우선 jsp나 html에서 만들어야합니다.

 

여기서는 정수의 처음과 끝을 입력해서 범위안의 숫자들의 총합을 구하려고 하는 것이기 때문에, 

 

처음값과 끝 값을 입력할 input태그의 text타입이 2개 필요하다. 그리고 당연히 Servlet에 전송하기위해서

 

form태그가 필요하다. (경로: Servlet파일. 메서드:doGet())

 

참고적으로, name의 값은 Servlet에서 전송받은값을 변수에 저장할때 사용되는 참조값이다.
String firstex= (request.getParameter("first"));String endex= (request.getParameter("end"));

 
Servlet에서는 name을 위와 같이 사용할 수 있다.
 
1
2
3
4
5
6
7
8
9
10
11
</head>
<body>
<form action="/Servletex/sum">
    <h1>로그인을 하시오</h1>
    첫 값 : <input type='text' name='first'><br>
    끝 값: <input type='text' name='end'><br>
    <input type='submit' value='전송'
</form>
</head>
 
 
 
 
더보기
<코드결과>

SumServlet.java (Servlet)에서 

공식처럼 과정들이 정해져있지요? 

 
(1) 전달받은 정수들을 변수에 저장하고, 
(2) form을 통해 전달되는 값들은 기본적으로 문자타입으로 저장되기때문에 정수를 사용하기위해서
Integer.parseInt();를 통해 형변환을 해야한다.
 
(3) 마지막으로는, 출력객체 out를 직접 생성해서 출력문을 작성하도록 한다.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class SumServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        request.setCharacterEncoding("utf-8");
        String start= request.getParameter("start");
        String end= request.getParameter("end");
        
        int a = Integer.parseInt(start);
        int b= Integer.parseInt(end);
        int sum=0;
        
        response.setContentType("text/html; charset=utf-8");
        PrintWriter out = response.getWriter();
        
        for(int i=a; i<=b; i++){
            sum+=i;
        }
        out.println(a+"부터"+b+"까지의 총합 : "+ sum);
        out.close();
    }
}
 
 
 
더보기
<코드결과>