본문 바로가기

카테고리 없음

Servlet 4

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

	<form action = "Ex08">
			<h3>직업</h3>
			<select name="job">
				<option>대학생</option>
				<option>의사</option>
				<option>마법사</option>
			</select>
			<br>
			<h3>성별</h3>
			<input type="radio" name="radio"> 남자
			<input type="radio" name="radio"> 여자
			
			<br>
			<h3>취미</h3>
			<input type="checkbox" name="chkbox">오버워치
			<input type="checkbox" name="chkbox">갤러그
			<input type="checkbox" name="chkbox">슈퍼마리오
			
			<br>
			<input type="submit">
			
	</form>


</body>
</html>
package com.servlet;

import java.io.IOException;
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("/Ex08")
public class Ex08 extends HttpServlet {


	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String job = request.getParameter("job");
		String gender = request.getParameter("radio");
		String hobby = request.getParameter("chkbox");
		System.out.println(job+gender+hobby);
	}

}

 

radio, checkbox 는 기본적으로 on/off의 출력값을 가지고 있기 때문에 출력할 경우 on/off 값이 뜨게 된다

따라서  radio,checkbox에

 

다음과 같이 value를 추가하여 어떤 값을 선택하였는가를 명시한다.

이렇게 되면 checkbox의 값은 배열로 처리하여야 한다.

다음과같이 두개 이상의 값을 받을때 getParameterValues를 사용한다.

그리고 hobby은 레퍼런스 타입으로 선언되었기 때문에 

각 문자를 골라 String 형변환하여 출력하여야 한다.

 

다음과같이 for each 문으로 string s 를 선언하여 hobby의 배열 크기까지 가도록 하였다

따라서 담긴 스트링 번지수 s 가 순서대로 출력되게 된다.