ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • form 형태로 전달하기
    JAVA/웹 프로그래밍 - 서블릿 2020. 10. 30. 00:00

    문제

    form 형태로 숫자들을 전송해서 구구단을 출력하고

    숫자를 입력받아 입력받은 수만큼 문자열 출력을 하도록 한다.

     

    먼저. html 파일을 먼저 만들자.

    submit의 역할은 폼태그의 내용을 모두 전송해주는 일을 한다.

    각 전송 버튼이 눌리면, 각 각 Test.java 혹은 GooGooDan.java가 해당 일을 처리한다.

    실행은 index.html에서 실행한다.

    index.html

    더보기
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>http://localhost:9090/index.html</title>
    </head>
    <body>
    	
    	<h1>인사하기</h1>
    	<form action="Test">
    		<input type="text" name="cnt">
    		<input type="submit" value="전송">
    	</form>
    	
    	<h1>구구단</h1>
    	<form action="GooGooDan">
    		<input type="text" name="dan">
    		<input type="submit" value="전송">
    	</form>
    	
    </body>
    </html>

     

     

    Test.java

    더보기
    package com.iot.web;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    @WebServlet("/Test")
    public class Test extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    
    	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();
    		
    		String cnt_ = request.getParameter("cnt");	//	리퀘스트의 정보를 받는다.
    		
    		int cnt = Integer.parseInt(cnt_);
    		
    		for (int i = 0; i < cnt; i++)
    			out.println("서버에 접속한 것을 환영합니다.<br>");
    	}
    }

     

     

    GooGooDan.java

    더보기
    package com.iot.web;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    @WebServlet("/GooGooDan")
    public class GooGooDan extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    
    	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    		response.setCharacterEncoding("UTF-8");
    		response.setContentType("text/html;charset=UTF-8");
    		PrintWriter out = response.getWriter();
    			
    		int dan = 2;	//	2단으로 초기화
    		
    		String dan_ = request.getParameter("dan");	//	리퀘스트의 정보를 받는다.
    		
    		//	dan_이 null이 아니면 정수로 변환
    		if (dan_ != null && dan_ != "")
    		{
    			dan = Integer.parseInt(dan_);
    		}
    		
    		for (int i = 1; i < 10; i++)
    			out.println(dan +" X " +i +" = " +(dan*i) +"<br>");
    	}
    }
    

    댓글

Designed by Tistory.