본문 바로가기

Servlet.JSP

[Servlet/JSP] 20220105 셤준비

1. http프로토콜 특징(웹 표준 플로토콜) 특징, 어떤애인지

http란?

-웹 상에서 정보를 주고 받을 수 있는 프로토콜

- 웹 클라이언트와 웹 서버 사이에 이루어지는 요청과 응답에 대한 프로토콜

 

http프로토콜의 특징

- Connection Oriented방식과 Stateless 방식(접속 상태를 계속 유지하지 않음. response하고 바로 끊음)이 있음

<WAS서버 구조>


2. firstServlet정도는 코드를 외우다시피 해야함

<firstServlet.java>

쿼리문자열 get
요청파라미터 post

 

<GetPostServlet3.java>

- service를 오버라이딩하여 (get과 post방식 똑같은 결과를 내보내줄때 사용?)

- 그렇기때문에 response.setContentType("text/html; charset=UTF-8");써줘야 함 (get, post공통맞지?)

- POST방식일때만 request.setCharacterEncding("utf-8"); 써줬음

- get, post둘다 servlet에서 화면단(브라우저)로 나타낼때

response.setCharacterEncoding("UTF-8"); 랑

PrintWriter out = response.getWriter();을 써줘야 함

<PartTestServlet.java>

- Post방식인 서블릿

-이거 뭐랑 쌍인지 모르겠음-> fileupload.html이랑 쌍임


쿼리 문자열 추출하는 코드, post방식일때 한글 처리하는 코드라던지(완벽하게 외우기)
3. servlet의 수행 상의 특징(7p~12p)

 

Jsp이란?

- HTML문서 안에 JSP태그와 동적인 처리를 담당하는 Java코드를 삽입하여 구현하는 기술

- Java를 사용하여 웹 페이지를 동적으로 생성하는 서버측 프로그램(서버상에서 수행되는 자바 클래스)

servlet이란?

- 상속 구문과 메서드 오버라이딩 구문을 적용한 Java로 구현된 프로그램으로서 수행결과를 HTML로 응답하도록 구현하는 기술

servlet특징

- 요청마다 프로세스보다 가벼운 스레드 기반으로 응답하므로 보다 가볍게 클라이언트 요청 처리 가능

- Java로 구현되므로 다양한 플랫폼에서 동작 가능

- 웹 클라이언트로부터 수행 요청으로 생성된 Servlet객체는 수행이 종료되어 응답된 후에도 객체 상태를 계속 유지하면서 다음 요청에 대하여 바로 수행될 수 있는 상태를 유지한다

- Servlet을 여러 클라이언트가 동시 요청했을 때 하나의 Servlet객체를 공유하여 다중 스레드 기반에서 처리되므로 응답 성능을 향상 시킬 수 있다

- HttpServlet이라는 클래스를 상속하여 구현함

- 어떤 요청방식을 지원하는 Servlet인가에 따라 doGet()또는 doPost()메서드를 오버라이딩하여 구현함

 

수행할때 어떤 특징을 가지고 있는지
이미 있었던 다른 기술에 대해 서블릿이 갖고 있는 장점

- Servlet을 여러 클라이언트가 동시 요청했을 때 하나의 Servlet객체를 공유하여 다중 스레드 기반에서 처리되므로 응답 성능을 향상 시킬 수 있다


4. 쿼리문자열 인코딩 규칙

https://powersmile-it.tistory.com/56
쿼리문자열 get
요청파라미터 post

 

 

get방식일경우, 인코딩 규칙

response.setContentType("text/html;charset=utf-8");

response.setCharacterEncoding("UTF-8"); 

만약, servlet에서 화면단(브라우저)로 나타낼때 PrintWriter out = response.getWriter(); 써줘야 함


5. 겟방식과 포스트방식의 차이, 특징

get방식: URI에 지정된 파일을 얻고자 할 때 사용되는 요청방식으로 디폴트 방식, name=value로 구성되는 간단한 데이터(쿼리문자열)을 URI뒤에 추가하여 전달하면서 요청하는 경우에도 사용된다.

post방식: 원하는 방식으로 인코딩 된 데이터를 요청 바디에 포함하여 전송하면서 파일을 요청할 때 사용됨, Query문자열 전달시의 GET방식을 보완한 요청방식

 


6. 세션 관련 문제 여러개임 **(16-21p)
- api
-request.getsesssion
set Atrribute
getAtrribute하는 역할 뭔지


7. jsp의 태그 중 스크립팅 태그 선언문 태그,표현식 수행문 태그 각각의 역할에 대해서


8. include지시자 태그 정리하기


9. forward redirect에 대해 차이점, 포워드는 어떤 경우에 사용하고 redirect는 어떤 경우에 사용되는지 

<redirect 코드>

response.sendRedirect("https://www.naver.com/");

 

<forward코드>

request.getRequestDispatcher("/member/mem_Login.jsp").forward(request, response);

 

10. EL문제 2문제 오전에 잘 들으면 잘 풀 수 있음
11. mvc패턴에 대한 문제-어떤건지

mvc패턴이란?

-소프트웨어 공학에서 사용되는 아키텍처 패턴

-사용자 인터페이스와 비즈니스 로직을 분리 -> 개발 생산성, 유지보수 높여줌

model: 다양한 비즈니스로직(Service) + DB연동로직(DAO) + 처리결과저장(VO, DTO) 기능 하는 JAVA객체, 도메인 모델과 서비스 모델로 구성

view:  사용자 인터페이스 요소

controller :  데이터와 비즈니스 로직 사이에서 상호동작 관리, 어플리케이션 기능 담당

mvc패턴이란?
세개의 역할로 나뉘어서 개발하는 방법을 뜻함
클라이언트에서 요청을 했을때(브라우저) -> 
요청을 받아서 목적에 맞게 기능을 수행하는 것은 
controller가 담당하고 간단한것은 수행하겠지만
db를 연동, 여러가지 서비스로직이 필요한 경우,
model이라는 클래스를 가지고 처리해서 
그 결과(요청)를 view에게 전달해서 view에서 응답해 줌

요청하는애와 응답하는애를 나누어서 병렬적으로 개발함으로서
개발 생산성, 유지보수를 편하게 한다. 

 

12. 객체공유에 대한 문제 두문제(20-21p)
request scope
application
session scope


13. 서블릿 소스 주고 , 구멍넣기 문제 핸드라이팅