**
@WebServlet("/PersonServlet")
//어노테이션으로 클래스 호출 -> web.xml을 수정할 필요가 없다.
1. servlet파일은 - javaResources - src 안에 반드시 생성해야함
2. 서블릿 파일 생성시 create web.xml을 만드시 체크
Create method stubs
- check init(), destroy()
System.out.println("doGet()..") 의 의미 :
//이후의 문자열을 html로 인식해라
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();//생성
out.println("<html>");
->주의 !! out.print하면 엔터가 인식이 안되어 html파일을 운영체제가 저장시킴
web.xml
/HelloServlet - 톰켓은 이 이름을 받음
- servlet-class : 등록된 클래스를 구동
- html번역 -> 아파치 -> 브라우저 출력
1. person 예제
1) 이름, 성별, 취미, 색깔, 과목의 정보를 제출하는 html파일
html파일 위치 : WebContent/Person/person.html
이름 : text
성별 : radio(남,여)
취미 : checkbox(독서,영화,음악,게임,쇼핑)
색깔 : select(빨강, 초록, 파랑, 보라, 하늘) - single type
과목 : select(JAVA,JSP,SPRING,JQUERY,SERVLET) - mulit type
제출,취소 버튼 추가
2) PersonServlet.java(servlet파일)에서 정보를 받아 정보출력
person.html에게서 이름, 성별, 취미, 색깔, 과목의 정보를 받아 정보출력
색깔에 맞춰서 페이지 배경색을 바꿔준다.
PersonServlet.java파일 위치 : Java Resources/src/com.person/PersonServlet.java
person.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="get" action="http://localhost:8080/7-Servlet/PersonServlet">
<div style="border : 1px red solid;">
<table border="1" cellspacing="" cellpadding="5">
<tr>
<td>이름</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>성별</td>
<td>
<input type="radio" name="gender" value="0" checked>남
<input type="radio" name="gender" value="1" >여
</td>
</tr>
<tr>
<td>취미</td>
<td>
<input type="checkbox" name="hobby" value="독서">독서
<input type="checkbox" name="hobby" value="영화">영화
<input type="checkbox" name="hobby" value="음악">음악
<input type="checkbox" name="hobby" value="게임">게임
<input type="checkbox" name="hobby" value="쇼핑">쇼핑
</td>
</tr>
<tr>
<td>색깔</td>
<td>
<select name="color" style ="width : 100px;">
<option value="red">빨 강
<option value="green">초 록
<option value="blue">파 랑
<option value="magenta">보 라
<option value="cyan">하 늘
</select></td>
</tr>
<tr>
<td>과목</td>
<td>
<select name="subject" style ="width : 100px;" size="5" multiple>
<option value="JAVA">JAVA
<option value="JSP">JSP
<option value="Spring">Spring
<option value="jQuery">jQuery
<option value="Servlet" selected>Servlet
</select>
</td>
</tr>
<tr>
<td colspan="2" align ="center">
<input type="submit" value="SEND">
<input type="reset" value="CENCEL">
</td>
</table>
</div>
</form>
</body>
</html>
PersonServlet.java
package com.person;
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;
@WebServlet("/PersonServlet")
//어노테이션으로 클래스 호출
public class PersonServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public PersonServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. 데이터
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String[] hobby = request.getParameterValues("hobby");
String color = request.getParameter("color");
String[] subject = request.getParameterValues("subject");
//2.응답
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet</title>");
out.println("<style>");
out.println("li {color : yellow;}");
out.println("</style>");
out.println("</head>");
out.println("<body bgcolor =" + color + ">");
out.println("<ul>");
out.println("<li>이름 : " + name + "br");
out.println("<li>성별 : ");
if(gender.equals("0")) out.println("남자<br>");
else out.println("여자<br>");
out.println("<li>취미 : ");
if(hobby != null){
for(int i = 0 ; i < hobby.length ; i++){
out.println(hobby[i] + " ");
}
}
out.println("<li>색깔 : " + color + "<br>");
out.println("<li>과목 : ");
for(String data:subject){
out.println(data + " ");
}
out.println("<br><br>");
out.println("<a href = javascript:history.go(-1)>뒤로</a>");
out.println("</ul>");
out.println("</body>");
out.println("</html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
결과창
click SEND!
*눈이 부시다
'IT > Programming' 카테고리의 다른 글
[JAVA] 객체를 파일로 저장 및 출력 사용 예제 (0) | 2023.04.20 |
---|---|
[JAVA, HTML] Servlet(web.xml수정) (0) | 2023.04.20 |
[JAVA, Quiz] StudentClass using ArrayList, FileOutput, FileInput (0) | 2023.04.19 |
[JAVA] Server&Client 통신 - Client (0) | 2023.04.19 |
[JAVA] Server&Client 통신 - Server (0) | 2023.04.19 |