본문 바로가기
Category/JSP&Servlet

1. JSP& Servlet 란?

by developer__Y 2023. 11. 22.

Web Application의 동작 순서

클라이언트 요청 → Web Server → WAS → DB → WAS → Web Server → 클라이언트에 응답

  1. 요청 : 주소란에 http://www.naver.com/을 입력
  2. 요청에 해당하는 주소 도메인을 받아 웹 어플리케이션 서버에서 받음
  3. 받은 요청을 처리하기 위해 데이터 베이스에서 데이터를 가져옴
  4. 받아온 데이터를 웹 어플리케이션 서버에서 처리하여 웹 서버를 통해 클라이언트에게 전달

 

JSP(Java Server Pages)란?

HTML코드에 JAVA 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구로,

JSP 실행 → Java Servlet으로 변환

- > HTML은 스크립트 언어이므로 컴파일이 되지않음.

- > Servlet는 Java 코드로 작성되어 있어 Jsp실행하면 같이 생성 됨

 

WAS(Web Application Server)

: Apache Tomcat 주로 사용

Apache Tomcat 9 version 관련 디렉토리

bin : 실행 파일 관련

conf : 환경 파일

lib : 라이브러리(db 연동)

logs : 로그

webapps : jsp, java , html 파일들이 들어가는 곳.

: http://localhost:8080/ ROOT 파일이 경로의 기본 경로 설정주소임.

 

즉, ROOT 폴더안에 helloWorld.jsp 파일을 만들어 넣어뒀다면,

http://localhost:8080/helloWorld.jsp 경로에 내가 만든 웹 페이지 화면이 표시된다.

 

 

Servlet 이란?

Servlet 파일

  • @WebServlet(”/HelloWorld”) : url 주소와 서블릿을 매핑 시켜주는 어노테이션
  • 메소드는 doGet, doPost 2개가 있다.

Servlet 인터페이스에서 상속을 받으면 구현 해야함.

<interface>Servlet → <abstract> GenericServlet ,HttpServlet

클라이언트 요청 방식은 get,post

  • GET 방식 : url로 주소,파라미터 포함 255자 이하 쿼리스트링으로 전송(보안 취약)
  • POST 방식 : http 패킷의 바디부분에 데이터를 담아 전송

→ html 문서에서 get 방식으로 호출하면, Servlet에 작성된 doGet 메소드로 응답한다.

: Ex) Servlet에 작성된 doGet 메소드의 파라미터인 request, response 객체에 담아온다.

<form method=”get” action=”servlet/Method”>

<input type=”submit” value=”get 방식으로 호출하기”> </form>

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().append("Servedat:").append(request.getContextPath()); }

 

 

 

 

 

서버에서의 응답 방식

: HttpServletResponse 클래스 response 객체의 setContentType 메소드를 호출해서 응답 방식과 문자셋 지정

→ response.setContentType(”text/html;charset=euc-kr”);

: text/html 으로 응답하고, 문자셋은 euc-kr

출력 통로

PrintWriter 클래스 타입의 out 참조변수가

HttpServletResponse 클래스 response 객체의 getWriter 메소드를 가리킨다.

 

 

 

 

'Category > JSP&Servlet' 카테고리의 다른 글

Session 이란?  (0) 2023.11.27
Cookie란?  (0) 2023.11.24
2. Servlet에서 데이터 처리하기  (1) 2023.11.22
[JSP] JSP에서 Javascript 사용하기  (0) 2023.11.10
[JSP] PreparedStatement 란?  (0) 2023.11.07