728x90
Servlet이란?
웹 서비스를 위한 자바 클래스
javax.servlet.http.HttpServlet클래스를 extends를 통해 인터페이스 상속 받아 사용
web.xml : 설정, 매핑,연결
index.html : 화면단
java class : extends HttpServlet 기능단
체크박스, 텍스트박스 등 사용자 데이터 받는 html 페이지
java class
package tryto;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class pracServlet1_get extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("요청 들어왔는지 확인");
String name = req.getParameter("name");
String gender = req.getParameter("gender");
String age = req.getParameter("age");
String city = req.getParameter("city");
String height = req.getParameter("height");
String[] foods = req.getParameterValues("food");
System.out.println(name); // a
System.out.println(gender); // 남자
System.out.println(age); // 20대
System.out.println(city); // 서울
System.out.println(height); // 177
for (String f : foods) { // str[] 값 디버깅용 // 한식 <- 복수체크해도 한식 하나만 나온다. 이럴 때는 배열로 받아주자. getParameterValues() 사용
System.out.println(f);
}
resp.setContentType("text/html; charset=UTF-8"); /// setContentType() : 내용에 대한 컨텐트 타입을 적어준다
// text타입명시 /html 쓸거다 명시
PrintWriter out = resp.getWriter(); // PrintWriter로 반환받음
out.println("<html>");
out.println("<head>");
out.println("<title> 개인정보 출력화면 </title>");
out.println("<style>");
out.println("h2{color:red;}");
out.println("span{font-weight: bold;}");
out.println(".name{color:orange;}");
out.println(".gender{color:yellow; background:black;}");
out.println(".age{color:green;}");
out.println(".city{color:blue;}");
out.println(".height{color:navy;}");
out.println(".food{color:purple;}");
out.println("</style>");
out.println("</head>");
out.println("<body>");
out.println("<h2>개인 취향 테스트 결과</h2>");
out.println("<span class='name'>" + name + "</span>님은 ");
out.printf("<span class='age'>%s</span>이시며, ", age);
out.printf("<span class='city'>%s</span>에 사는", city);
out.printf("키 <span class='height'>%s</span>cm인 ", height);
out.printf("<span class='gender'>%s</span>입니다. ", gender);
out.println("좋아하는 음식은 <span class='food'>");
// 위에서 str arr로 받은 값을 화면에 출력
for(int i = 0 ; i < foods.length; i++) {
if(i == 0) {
out.printf("%s", foods[i]);
}else {
out.printf(", %s", foods[i]);
}
}
out.println("</span>입니다.");
out.println("</body>");
out.println("</style>");
out.println("</head>");
out.println("</html>");
}
}
html 페이지
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>pracServlet1_get.html</title>
</head>
<body>
<form action="/0_Practice/pracServlet1_get.do" method="get"> <!-- method="post" 추가 -->
<!-- .do는 개발자들끼리 한다 해본다의 의미 -->
<ul style="list-style: none; line-height: 200%;">
<li>이름: <input type="text" name="name" size="10"></li>
<li>
성별 :
남자 <input type="radio" name="gender" value="남자">
여자 <input type="radio" name="gender" value="여자">
</li>
<li>
나이 :
10대 미만 <input type="radio" name="age" value="10대 미만">
10대 <input type="radio" name="age" value="10대 ">
20대 <input type="radio" name="age" value="20대 ">
30대 <input type="radio" name="age" value="30대 ">
40대 <input type="radio" name="age" value="40대 ">
50대 <input type="radio" name="age" value="50대 ">
</li>
<li>
사는 도시 :
<select name="city">
<option value="서울">서울</option>
<option value="경기">경기</option>
<option value="강원">강원</option>
<option value="충북">충북</option>
<option value="충남">충남</option>
<option value="경북">경남</option>
<option value="경남">경남</option>
<option value="전북">전븍</option>
<option value="전남">전남</option>
<option value="제주">제주</option>
</select>
</li>
<li>키 : <input type="range" name="height" min="140" max="200"></li>
<li>
좋아하는 음식(모두 고르세요) :
한식<input type="checkbox" name="food" id="korea" value="한식">
중식<input type="checkbox" name="food" id="china" value="중식">
일식<input type="checkbox" name="food" id="japan" value="일식">
양식<input type="checkbox" name="food" id="western" value="양식">
분식<input type="checkbox" name="food" id="dduck" value="분식">
</li>
<li>
<br>
<input type="submit" id="btnok" value="확인">
<input type="reset" value="취소">
</li>
</ul>
</form>
</body>
</html>
728x90
반응형
'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글
[1일1코딩][bootstrap] 시범사용 & 연결 (0) | 2022.04.22 |
---|---|
[1일1코딩][HTML,CSS,JS] 로그인 만들어보기1 (0) | 2022.04.21 |
[1일1코딩][Servlet] 서버 연결 - web.xml, index.html 세팅 (0) | 2022.04.19 |
[1일1코딩][jQuery] mouseenter & mouserout + attr (0) | 2022.04.19 |
[1일1코딩][SQL][Oracle] 계정 등록 및 권한 부여 (0) | 2022.04.18 |