Acorn academy 12/29

Bae Seong Jun·2023년 12월 29일

Acorn academy

목록 보기
28/70

mybatis 주의할 점
dto의 멤버변수 column명과 동일해야함

  • form의 각 정보전달 태그 name = column명과 동일시 해두면 매우 편리

column명 = dto 멤버변수명 = form 데이터name명

InitParam 사용
key/value 형태로 설정 및 코드상에서 사용가능
Web.xml의 설정

// init parameter 
		String userid = getInitParameter("userid");
		String email = getInitParameter("email");
		System.out.println(userid + "\t" + email);
		
		System.out.println("");
		Enumeration<String> enu = getInitParameterNames();
		while(enu.hasMoreElements()) {
			String key = enu.nextElement();
			String value = getInitParameter(key);
			System.out.println(">>>" + key + "\t" + value);
		}

Context Parameter 사용
servlet 파일뿐 아니라 모든 파일에서 사용 가능한 변수다.

스코프 scope 중요

서블릿에서는 필요시 임의의 데이터를 저장하고 나중에 저장된 데이터를 사용할 수 있는 3가지 특별한 저장소를 제공한다.

가. request 스코프 - 연결1회

  • HttpServletRequest API
  • 요청 ~ 응답까지의 Life Cycle을 가짐
  • setAttribute(key, value) 와 getAttribute(key) 메서드 이용

나. session 스코프 - 브라우저와 라이프사이클이 똑같다 (크롬 브라우저를 모두 종료하면 session을 잃는다.) (tomcat 하나당 session id 하나 할당)

  • HttpSession API
  • 브라우저의 Life Cycle을 가짐
  • setAttribute(key, value) 와 getAttribute(key) 메서드 이

다. application 스코프 - 프로젝트 - Context와 라이프사이클이 같다. 브라우저가 죽어도 서버가 살아있으면 유지됨.

  • ServletContext API
  • 웹어플리케이션에서의 context의 Life Cycle을 가짐
  • setAttribute(key, value) 와 getAttribute(key) 메서드 이용

request.setAttribute("aaa")
=> request.getAttribute("aaa"):Object => 사용하기 위해선 형변환 필요

Session의 설정과 사용

// session의 설정
HttpSession session = request.getSession();  //session 객체를 생성
session.setAttribute("key", value);  // session에 (key, value) 추가

// session의 사용
HttpSession session = request.getSession();
String xxx = (String)session.getAttribute("key") //session.getAttribute("key")는 Object 객체를 반환하므로 실제 데이터값에 맞는 형변환을 해주어야함.

session에 저장된 모든 값을 불러오기

  1. session.getAttributeNames(); 으로 모든 키값을 Enumeration<String>으로 받아오기
  2. Enumeration 을 순회하며 key값을 이용하여 value값을 불러온다.

Enumeration의 순회는

hasMoreElement()와 nextElement()로 순회하며 값을 반환받을 수 있다.

키값을 이용한 session의 value 접근은 session.getAttribute(key)로 가능하다.

session 특정 값 삭제와 전체 삭제

session.removeAttribute()
session.invalidate()

profile
코딩 프로?

0개의 댓글