TextField.html은 웹컨텐트에 만든것임
나머지 서블릿들은 프로젝트-패키지이름은com.test 에 만든 서블릿

TextField.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TextField</title>
</head>
<body>
<!-- 매핑값 Member를 찾아감 -->
<form action="Member" method="post">
<fieldset>
<legend> 회원관리폼 </legend>
<ul>
<li><label for="username">이름</label>
<input type="text" name="username" autofocus required placeholder="이름입력"></li>
<li><label for="address">주소</label>
<input type="text" name="address" ></li>
<li><label for="userid">아이디</label>
<input type="text" name="userid" ></li>
<li><label for="passwd">비밀번호</label>
<input type="password" name="passwd" ></li>
<li><label for="email">이메일</label>
<input type="email" name="email" ></li>
<li><input type="submit" value="전송"></li>
</ul>
</fieldset>
</form>
</body>
</html>
MemberServlet.java
package com.test;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
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("/Member")
public class MemberServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//post 방식의 인코딩 처리 (한글)
request.setCharacterEncoding("utf-8");
//텍스트필드.html 파일에서 각 속성들의 name을 가져오는 거
Enumeration<String> enu = request.getParameterNames();
//html 태그의 name값을 얻기위해 getParameterNames()를 사용해
//Enumeration 타입으로 리턴받음
//응답.
//지금까지는 문자열을 싣고 html로 보냈으나 여기서는 다름.
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<html><body>");
//getParameter()를 사용해 value값을 얻어서 출력함
while(enu.hasMoreElements()) {
//값이 있으면 반복해 출력해줌
//요소값을 가져옴
String name = enu.nextElement();
String value = request.getParameter(name);
out.print(name+":"+value+"<br>");
}
out.print("</body></html>");
}
}
ResponseServlet
package com.test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;
@WebServlet("/Response")
public class ResponseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//MIME 타입설정(MultiPurpose Internet Mail Extensions)
//MIME : 파일변환 (파일을 텍스트 문자로 전환하여 사용함)
// - 파일을 텍스트 문자로 전환하여 사용함. 웹을통해 여러형태의 파일을 전달할때 사용
response.setContentType("text/html;charset=utf-8");
//PrintWriter 객체 생성
PrintWriter out = response.getWriter();
//문자 데이터 출력
//문자열을 통해 웹으로 보냄
out.print("<html>");
out.print("<body>");
out.print("ResponseServlet 요청 성공 !");
out.print("</body>");
out.print("</html>");
}
}
PostPreServlet
package com.test;
import java.io.IOException;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.servlet.ServletConfig;
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("/PostPre")
public class PostPreServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init() throws ServletException {
System.out.println("init");
}
public void destroy() {
System.out.println("destroy");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet");
}
//init이 호출되기전 선처리를 진행
//선처리 작업 지정 어노테이션
@PostConstruct
public void initMethod() {
System.out.println("initMethod");
}
//후처리 메소드 (destroy 메소드 호출후 실행)
//후처리 지정 어노테이션
@PreDestroy
public void clean() {
System.out.println("clean");
}
}
'코딩한파일' 카테고리의 다른 글
VisitList(방명록) 2 - 어노테이션 방식, DB에연결 및 업로드 (0) | 2021.01.13 |
---|---|
VisitList(방명록) - Post 방식 작성 (0) | 2021.01.12 |
JdbcEx (0) | 2020.12.22 |