
<!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>
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여야한다.)
