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 에서 공유하면서 사용한다.
- web.xml 에 설정
<context-param>
<param-name> id</param-name>
<param-value>init_id</param-value>
</context-param>
- 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 어노테이션을 붙인다.
