본문 바로가기
학습/JSP

6. 서블릿 (서블릿으로 요청 시 구구단 출력하기)

by Elfen Lied 2022. 11. 2.
반응형

- 구구단 출력

  • src/main/java에 서블릿(GuguTest)을 만들어주고 init(), doGet(), destroy() 넣음
  • webapp에 gugu.html 생성
package sec01.ex05;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
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("/guguTest")
public class GuguTest extends HttpServlet {

	public void init(ServletConfig config) throws ServletException {
		System.out.println("init메소드 호출");
	}


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		int dan = Integer.parseInt(request.getParameter("dan"));

		out.print(" <table border=1 width=800 align=center");
		out.print("<tr align=center bgcolor='#FFFF66'>");
		out.print("<td colspan=2 align=center>" + dan + " 단 출력 </td>");
		out.print("</tr>");
		
		for (int i = 1; i < 10; i++) {
			if(i % 2 == 0) {
				out.print("<tr align=center bgcolor='#ACFA58'>");
			} else {
				out.print("<tr align=center bgcolor='#81BEF7'>");
			}			
			
//			out.print("<tr align=center>");
			
			out.print("<td width=400>");
			out.print(dan + " *  " + i);
			out.print("</td>");
			out.print("<td width=400>");
			out.print(i * dan);
			out.print("</td>");
			out.print("</tr>");
		}
		out.print("</table>");
		
	}
	
	public void destroy() {
		System.out.println("destroy메소드 호출");
	}

}

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>단수 입력창</title>
</head>
<body>
<h1>출력할 구구단의 수를 지정해 주세요.</h1>
<form action="/pro07/guguTest">
	출력할 구구단 : <input type="text" name="dan"><br>
	<input type="submit" value="구구단 출력">
</form>
</body>
</html>

input 창에 숫자를 입력해보면

잘 나오면 성공.

 

 

만약 한 색깔로 나오게 하고 싶으면

if 문을 지우고 바로 밑 // out.print("<tr align=center>"); 이 코드의 주석을 해제하면 된다.

 

※ 컬러차트 보는곳

https://html-color-codes.info/Korean/ 

 

 

 

- 라디오 박스와 체크박스 표시하기

눌렀다고 기능이 있는건 아니지만 표시하기.

위에서 했던 서블릿에

package sec01.ex05;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
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("/guguTest")
public class GuguTest extends HttpServlet {

	public void init(ServletConfig config) throws ServletException {
		System.out.println("init메소드 호출");
	}


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		int dan = Integer.parseInt(request.getParameter("dan"));

		out.print(" <table border=1 width=800 align=center");
		out.print("<tr align=center bgcolor='#FFFF66'>");
		out.print("<td colspan=2 align=center>" + dan + " 단 출력 </td>");
		out.print("</tr>");
		
		for (int i = 1; i < 10; i++) {
			if(i % 2 == 0) {
				out.print("<tr align=center bgcolor='#ACFA58'>");
			} else {
				out.print("<tr align=center bgcolor='#81BEF7'>");
			}			
			
//			out.print("<tr align=center>");
			
			// 라디오, 체크박스 시작
			out.print("<td width=200> ");
			out.print("<input type='radio'>" + i);
			out.print("</td>");
			out.print("<td width=200> ");
			out.print("<input type='checkbox'>" + i);
			out.print("</td>");
			// 라디오, 체크박스 끝
			
			out.print("<td width=400>");
			out.print(dan + " *  " + i);
			out.print("</td>");
			out.print("<td width=400>");
			out.print(i * dan);
			out.print("</td>");
			out.print("</tr>");
		}
		out.print("</table>");
		
	}
	
	public void destroy() {
		System.out.println("destroy메소드 호출");
	}

}

 

주석으로 감싼 // 라디오, 체크박스 시작 , 끝 사이에 있는 코드를 넣으면 끝

 

 

 

반응형

댓글