https://www.youtube.com/playlist?list=PLieE0qnqO2kTyzAlsvxzoulHVISvO8zA9

Servlet Parameter

<form action="FormEx" method = "post">
	<input type= "text" name = "id">
</form>
//FormEx 클래스의 doPost() 메소드
String id = request.getParameter("id")

HttpServletRequest 객체 request를 이용하여 Parameter 값을 얻는다.

form 태그에서 설정한 name = "id" 를 사용하여 전달된 정보를 가져온다. 반환값은 String 이다.

  • getParameter(name): 해당 이름의 단일 값
  • getParameterValues(name): 해당 이름의 복수 값(checkbox)을 배열로 가져온다.
  • getParameterNames(): 모든 이름들을 반환

한글처리

Tomcat 서버의 기본 문자 처리 방식은 한글이 깨질 수도 있다.

  • Get 방식 요청 : server.xml 에 <Connector URIEncoding="EUC-KR" ... > 을 추가한다.

  • Post 방식 요청: request.setCharacterEncoding("EUC-KR") 를 doPost() 에 추가한다.

Servletconfig: 서블릿 초기화 파라미터

지정된 특정 Servlet 이 생성될 때 초기에 필요한 데이터가 있다. 이 데이터를 초기화 파라미터라고 한다.

  • web.xml

      <servlet>
          <init-param>
                  <param-name> id</param-name>
                  <param-value>init_id</param-value>
          </init-param>
      </servlet>
    
  • Servlet 파일에 기술

    @WebServlet(initParams={@WebInitParam(name="id", value="init_id"), @WebInitParam(name="pw", value="init_pw")})

    두 방법 모두 String id = getInitParameter("id") 로 접근한다.

ServletContext: 데이터 공유

여러 Servlet 에서 특정 데이터를 공유해야 할 경우, context parameter 를 이용해서 web.xml 에 데이터를 기술하고, Servlet 에서 공유하면서 사용한다.

  1. web.xml 에 설정
<context-param>
		<param-name> id</param-name>
		<param-value>init_id</param-value>
</context-param>
  1. Servlet 파일에서 사용

getServletContext().getInitParameter("id");

ServletContextListener: 웹 어플리케이션 감시

ServletContextListener 는 Servlet 의 생명 주기를 감시하는 Listener 이다.

  • web.xml 에 설정
<listener>
	<listener-class>com.javalec.ex.ServletL</listener-class>
</listener>

리스너 클래스를 생성해서 public class ServletL implements ServletContextListener 를 사용하고, Override 를 한다.

메인 클래스에서 contextInitialized() 는 어플리케이션이 실행될 때, contextDestroyed() 는 어플리케이션이 끝날 때 실행된다.

  • Servlet 파일에 설정

리스너 클래스를 제작해서 @WebListener 어노테이션을 붙인다.