본문 바로가기
WEB/JSP

JSP /SERVLET 개념 정리

by 둥바 2022. 7. 17.

서블릿

: 서버에서 실행되는 자바코드

1) 서블릿의 호출방식

get방식 ==> doGet()실행

post방식 ==> doPost()실행

2)web.xml이용한 서블릿 매핑 방법

JSP

: server에서 실행되는 자바 웹 페이지

- 자바 기반 스크립트 언어

- 자바의 기능을 그대로 사용 가능

- HTTP에 대한 클라이언트의 요청을 처리/응답

- 웹 어플리케이션에서 결과 화면 생성에서 주로 사용(뷰)

- jsp는 내부적으로 servlet으로 변환되어 실행된다.

- jsp의 배포 디렉토리 ) workspace디렉토리\.metadata\.plugins\org.eclipse.wst.server.core \tmp0\work\Catalina\localhost\프로젝트\org\apache\jsp

 

웹 컨테이너 

: 컨테이너는 특정 요소를 담을 수 있는 소프트웨어 모듈

: 동적인 데이터를 처리하여 정적인 페이지로 생성 역할

: 웹 어플리케이션을 실행할 수 있는 컨테이너로,

java 서블릿과 상호작용하는 WAS의 구성요소로서 서블릿의 생명주기를 관리하며 JSP와 서블릿 실행

 

예) 톰캣 - 서블릿 생성, 초기화, 서비스 실행, 소멸에 관한 모든 라이프사이클을 가지고 서블릿 관리

톰캣에 내장된 서블릿은 두 가지로 나뉜다.

1) DefaultServlet - url(/)처리를 해주는 서블릿

2) JSPServlet - jsp페이지를 처리해주는 서블릿

 

JSP의 기본 문법

scriptlet <% 자바코드 %>

expression <%= 식 or 값 %>

JSP 선언문 <%! 전역변수, 메소드 %>

페이지 지시어 <%@ page language = "java" 타입 및 import 등 >

 

JSP page에서 import 방법

1행에 1개씩 <%@page import="java.util.Calendar" %>

1행에 여러개 <%@page import="java.text.SimpleDateFormat, java.util.Calendar %>

 

page 모듈화

<%@ include file="불러올 페이지 주소"%> : jsp 지시어 태그

1개의 클래스로 컴파일 되며, 변수 공유가 가능하다.

<jsp:include page="불러올 페이지 주소" /> : jsp 액션 태그

 

웹페이지의 호출방식

- post 방식

: body를 통해 정보 전송

: 정보가 주소창에 노출되지 않으며, 대용량 자료 전송 가능

 

- get방식

: 데이터를 header에 붙여서 전송, 기본적인 방식으로 보안에 취약하며, 쿼리스트링 이용

 

쿼리스트링 변수 사용 방법

String type만 넘길 수 있다.

-보낼 때 : url?변수=값&변수=값

-받을 때 : request.getParameter("변수")

 

페이지 이동 방식

1) 자바스크립트 location.href = "이동주소";

2) JSP

a. forward : 화면전환(주소 고정), 대용량 데이터 전송 가능, 이동할 주소에 context path(프로젝트 이름, 웹 서비스 이름) 포함

http://도메인/컨텍스트패스/디렉토리/페이지이름

String page="/memo.memo_view.jsp";

RequestDispatcher rd = request.getRequestDispatcher(page);

rd.forward(request,response);

 

b.redirect : 화면전환, 주소변경, 소용량 데이터 전송. 이동 주소에 context path 포함해야 한다.

String page = request.getContextPath() + "/memo.do";

response.sendRedirect(page);

 

 

'WEB > JSP' 카테고리의 다른 글

트랜잭션 처리, 배치 처리  (0) 2022.07.22
JDBC - DB연결해서 멤버 리스트 출력, 삽입, 삭제하기  (0) 2022.07.22
Session 객체  (0) 2022.07.18
웹 프로젝트 생성 및 DB연결  (0) 2022.07.17
JSP 예제  (0) 2022.07.13