JSP
- HTML 형식의 문서에 다이내믹 코드(Dynamic Code)를 작성하는 기술
- Servlet 으로 변환되어 실행
Spring Framework
- 자바 백엔드 웹 애플리케이션을 위한 오픈 소스 프레임워크(Open Source Framework)
- 다이내믹 웹 애플리케이션 개발을 위한 여러 가지 기법 제공
ex) IOC, DI, AOP
@PostConstruct : servlet을 준비하는 단계
init() : servlet 생성 단계
ex) 로그인, id & pwd 를 변수에 담기, 공통적으로 이루어지는 업무
service : servlet이 일을 하는 단계(개발자가 구현하는 단계)
destroy() : servlet이 컨테이너에서 소멸되는 단계
ex) 데이터베이스를 쓰고나서 리소스 해제를 할 때, 리로스 반납 등
@PreDestroy : servlet을 종료시켜주는 단계
클라이언트로부터 전달되는 다양한 정보를 추상화시킨 객체이다.
클라이언트가 전달하는 정보를 추출할려면 이 객체를 이용하면 된다.
예를 들어, 클라이언트가 입력한 데이터, 요청 헤더 정보, URL & URI 등 다양한 정보를 얻을 수 있다.
// HttpServletRequest를 이용한 간단한 예제
// http://localhost:8080/WebLab/HelloServlet?name=servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("EUC-KR");
response.setContentType("text/html;charset=EUC-KR");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>helloworld servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("요청 방식 : " + request.getMethod() + "</br>");
out.println("호출 URL : " + request.getRequestURL() + "</br>");
out.println("요청 URI : " + request.getRequestURI() + "</br>");
out.println("요청 데이터 : " + request.getQueryString() + "</br>");
out.println("요청 프로토콜 : " + request.getProtocol() + "</br>");
out.println("서버 포트번호 : " + request.getServerPort());
out.println("</body>");
out.println("</html>");
}
package form;
import java.io.IOException;
import java.util.Arrays;
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("/mSignUp")
public class MemSignUp extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("--doGet()--");
String m_name = request.getParameter("m_name");
String m_pass = request.getParameter("m_pass");
String m_gender = request.getParameter("m_gender");
String[] m_hobbys = request.getParameterValues("m_hobby");
String m_residence = request.getParameter("m_residence");
System.out.println("m_name : " + m_name);
System.out.println("m_pass : " + m_pass);
System.out.println("m_gender : " + m_gender);
System.out.println("m_hobbys : " + Arrays.toString(m_hobbys));
System.out.println("m_residence : " + m_residence);
Enumeration<String> names = request.getParameterNames();
while (names.hasMoreElements()) {
String name = (String)names.nextElement();
System.out.println("name : " + name);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("--doPost()--");
doGet(request, response);
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="mSignUp" method="post">
name : <input type="text" name="m_name"> </br>
password : <input type="password" name="m_pass"> </br>
gender : Man<input type="radio" name="m_gender" value="M" checked="checked">, Woman<input type="radio" name="m_gender" value="W"></br>
hobby : Sport<input type="checkbox" name="m_hobby" value="sport">,
Cooking<input type="checkbox" name="m_hobby" value="cooking">,
Reading<input type="checkbox" name="m_hobby" value="reading">,
Travel<input type="checkbox" name="m_hobby" value="travel"></br>
residence : <select name="m_residence">
<option value="seoul" selected="selected">Seoul</option>
<option value="gyeonggi">Gyeonggi</option>
<option value="chungcheong">Chungcheong</option>
<option value="jeonra">Jeonra</option>
<option value="jeju">Jeju</option>
<option value="gyeongsang">Gyeongsang</option>
<option value="gangwon">Gangwon</option>
</select></br>
<input type="submit" value="sign up">
</form>
</body>
</html>
글 잘 봤습니다.