1. WebContent - favorite - favorite.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>개인 취향 테스트(GET)</title>
</head>
<body>
	<h2>개인 취향 테스트(GET)</h2>
	<br>
	당신의 취향을 테스트 합니다.<br>
	데이터 입력후 확인 버튼을 누르세요<br><br>
	<form action="/BasicWeb/favorite" method="post">
	<!-- html 에서는 - 로 단어 구분 -->
		<label for="user-name">이름은?</label>
		<input type="text" id="user-name" name="user-name"><br><br>
		<label for="color">좋아하는 색?</label>
		<label>빨강<input type="radio" id="color" name="color" value="red"></label>
		<label>파랑<input type="radio" id="color" name="color" value="blue"></label>
		<label>노랑<input type="radio" id="color" name="color" value="yellow"></label>
		<label>초록<input type="radio" id="color" name="color" value="green"></label><br><br>
		좋아하는 동물은?
		<select name="pet">
			<option value="puppy">강아지</option>
			<option value="kitty">고양이</option>
			<option value="bird">새</option>
		</select><br><br>
		좋아하는 음식?(모두 고르세요)
		<label>짜장면<input type="checkbox" name="food" value="짜장면"></label>
		<label>짬뽕<input type="checkbox" name="food" value="짬뽕"></label>
		<label>탕수육<input type="checkbox" name="food" value="양장피"></label>
		<label>팔보채<input type="checkbox" name="food" value="팔보채"></label>
		<br><br><br>
		<input type="submit" value="확인">
		<input type="reset" value="취소">
	</form>
</body>
</html>

2. FavoriteServlet 생성

package favorite;

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;

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

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		String userName = request.getParameter("user-name");
		String userColor = request.getParameter("color");
		String userAnimal = request.getParameter("pet");
		String[] userFoods = request.getParameterValues("food");
				
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html; charset=UTF-8");
		PrintWriter out = response.getWriter();
		out.println("<html><head><title>개인 취향 테스트</title></head>");
		out.println("<body><h2>개인 취향 테스트 결과 화면</h2>");
		out.println("<span style='color:blue'>" + userName + "</span> 님의 개인 취향은 ");

		if(userColor.equals("red")) {
			out.println("<span style='color:red'>빨강</span> 색을 좋아하고, ");
		}else if(userColor.equals("blue")) {
			out.println("<span style='color:blue'>파랑</span> 색을 좋아하고, ");
		}else if(userColor.equals("yellow")) {
			out.println("<span style='color:yellow'>노랑</span> 색을 좋아하고, ");
		}else {
			out.println("<span style='color:green'>초록</span> 색을 좋아하고, ");
		}
//		out.println("<span>" + userColor + "</span> 색을 좋아하고, ");

		if(userAnimal.equals("puppy")) {
			out.println("<span>강아지</span> 를 좋아합니다.");
		}else if (userAnimal.equals("kitty")) {
			out.println("<span>고양이</span> 를 좋아합니다.");
		}else {
			out.println("<span>새</span> 를 좋아합니다.");
		}
//		out.println("<span>" + userAnimal + "</span> 를 좋아합니다.");

		out.println("좋아하는 음식은 ");
		for(int i = 0; i< userFoods.length; i++) {
			if(i == 0) {
				out.println(userFoods[i]);
			}else {
				out.println(", " + userFoods[i]);
			}
		}
		out.println("입니다.");
		out.println("</body></html>");
	}

}

💭 switch~case 문으로 작성 불가한 이유는 특성상 조건문이 한 글자만 가능하기 때문이다. (String 불가. char여야한다.)

결과 👇