Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/8월

22.08.08 - [ WAS ] 총 복습 및 세미프로젝트 진행

giggs 2022. 8. 30. 10:13

 

-- Index --

 

1. WEB-INF 2. FORWARD 3. MVC패턴 4. conn 5. form-botton 6. forward /redirect 7. EL

 

 


 

 

1.WEB-INF

 

  • WEB-INF는 외부에서 접속 불가 -- 클라이언트가 WEB-INF에 파일 바로 요청 불가

 

 

 

 

  • 즉, 서버 내에서만 WEB-INF로 요청 가능
  • 서블릿이나 이런 애들은 왔다 갔다 가능하지만 외부 CLIENT는 접근 불가 - 요청 불가
  • 사실 views의 jsp파일들은 사실 WEB-INF 하위에 넣어주는 게 맞다.
  • 사용자는 이 파일 직접 요청 못하는데 그럼 경로는 어떻게?
  • 서블릿을 통해서 요청할 수 있도록 해주자.

 

 

 

 

 

 


 

 

2. 서블릿과 JSP의 FORWARD

 

  • request req 객체에 내가 연산한 data 담아서 – req.setAttribute(“key”, value);
  • - forward로 보냈다.
  • 받는 쪽에서는 req.getAttribute(“key”); 해서 꺼내보기.

 

 


 

 

 

3. 서블릿에서 하던 작업들을 분리해서 작업

  • 한 곳에서 모두 작업하던 거를 컨트롤러/서비스/DAO로 나눠서 작업

 

 

 

 


 

4. conn NullPointException 에러가 나는 이유는?

 

 

 

 

 


 

 

 

 

5. form 태그 안에 button의 기능은?

  • 그냥 버튼이 아니라 submit 버튼이 되어버린다.
  • submit 아니라 그냥 버튼으로 취급되게 해 주려면? type=“button” 지정

 

 

 

 

 

 

 


 

 

6. 서버측(서블릿)에서 클라이언트가 보낸 데이터 꺼내기

  1. 인코딩
  2. getParameter
  3. getParameterValues
  4. *null체크 작업 필요

 

 

 

 

 


 

 

7. forward 와 redirect 선택의 기준

  • > request에 담은 데이터가 있는지?
  • > request에 담아놓은 data를 사용하냐 안 하냐

 

 

 

 

 

  • 리퀘스트에 데이터를 담았을 때만 forward 하는 것이고
  • 그게 아니라면 – 둘 중에 상황에 맞게 선택하기

 

 

 


 

 

8. contextPath

  • req.getContextPath();
  • 프로젝트의 최상단 경로

 

 


 

 

6. pstmt 관련

  • 물음표 == 위치 홀더
  • insert 쿼리에서는 – int결과 – int 필요 – rs 필요 없다.
  • select 쿼리에서는 – rs결과 – rs 필요 – int 필요 없다.
  • close 도 반드시 필요!

 

 


 

 

7. EL

  • ${request.getContextPath();}
  • EL이라는 것인데 2개 똑같은 의미