본문 바로가기

코딩한파일

TextField.html 그리고 MemberServlet.java

 

 

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");
	}
}