웹 어플리케이션 동작 순서
웹 어플리케이션 서버(WAS)의 설명
J2EE 플랫폼
컨테이너 영역 - Servlet, JSP, EJB(분산처리)
서비스 API - 컨테이너 영역을 서포트 해 주는 역할
웹 컨테이너
- Servlet : Server Applet의 약어, 자바 기반으로 이루어진 웹 프로그래밍 언어
- JSP : Java Server Pages의 약어, 자바의 특징을 그대로 취함, 웹 페이지를 동적으로 처리되는 기술로 서블릿 프로그램의 기능을 HTML 파일 내의 태그와 스크립트 형식으로 구현하는 기술
웹 어플리케이션 TOMCAT 구조
웹 브라우저 <-> WAS ->servletwork = context - JSP(이미지 파일..)
이클립스에선 WEB.XML 파일에서 따로 생성 안해도 구현해준다
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
doget메소드는 get방식의 요청만 할 때 사용
get방식 : 주소 창을 타고 넘어 간다. 255자 이하의 소용량 데이터 전송
post방식: html header를 타고 넘어간다. 보안에 용이, 255자 이상의 대용량 데이터 전송
/context path/servlet/클래스명
서블릿의 동작원리
요청 -> 웹서버 -> 서블릿 컨테이너 -> 스레드 -> 서블릿 객체 -> 스레드 -> 서블릿 컨테이너 -> 웹서버 -> 응답
쿼리스트링 처리하기
getParameter(String s) - 첫 번째 파라미터 값을 구함
getParameterValues(String s) - 지정한 파라미터의 모든 값을 구함
한글처리
request.setCharacterEncoding("euc-kr");
JSP
jspwork = context
121
1. 요청-웹서버
지시자
contentType - jsp페이지의 마임 타입과 문자 인코딩을 정의
import - jsp 스크립트 모듈에서 사용될 클래스나 패키들을 jsp페이지에 포함하기 위해 사용되는 속성
isErrorPage - 페이지에서 에러가 발생하였을 때 보여줄 errorPage
include
지시자 - 소스전체를 가져온다
액션태그 - 결과화면만 가져온다
taglib지시자
접두어
<%@ taglib ~>
jsp 페이지의 스크립트 요소
선언
식
스크립트릿
request(요청)
getRequestURL() - 요청한 url 구한다
getRequestURI() - 요청한 uri 구한다
response(응답)
setContentType(String) - 마임 타입을 지정, 부가적으로 글자의 인코딩 지정
addCookie(Cookie) - 응답에 지정한 쿠키 저장
sendRedirect(url) - 웹 서버가 웹 브라우저에게 지정한 URL로 자동 이동되도록 한다
폼에서와 DB에서의 같은 id값인데, equals로 대조하면 false가 난다.
-> 이럴 땐, trim() 메소드로 비교한 다음 equals()를 쓰거나, 공백문자가 들어가진 않앗는 지 확인한다
a.trim(a.equals(b))
JSP 액션태그
<jsp:forward /> - 다른 사이트로 이동할 때 사용, 페이지의 흐름을 제어할 때 사용한다
<jsp:
<jsp:param /> - 요청한 페이지로 정보를 전달할 때 사용하는 태그, 현 페이지에서 요청한 페이지로 인자와 인자값 형태로 값을 넘겨준다
param으로 던져도 request.getParameter로 받는다!!
setAttribute로 값 준건 getAttribute로 받는다
쿠키
클라이언트에 저장
1. 쿠키 생성 Cookie info = new Cookie("cookie", "1 cookie");
2. 쿠키에 속성값 설정 info.setMaxAge(365*24*60*60);
3. 쿠키 추가 response.addCookie(info);
1. 쿠키 얻기 Cookie[] cookies=request.getCookies();
2. 쿠키 끊기 info.setMaxAge(0);
세션
서버에 저장
1. 값 저장 session.setArttribute(String name, Object Value);
2. 값 얻기 Object getAttribute(String name); (el태그: ${ session.scope.name() })
자바빈
<jsp:useBean /> - 객체 생성(new 연산자 사용하는 것이랑 같다)
<jsp:getProperty /> - get메소드, 객체의 프로퍼티 값을 되돌려주는 기능 (el태그 : ${ 변수이름 })
<jsp:setProperty /> - set메소드, 빈의 프로퍼티에 값을 설정하는 기능
JDBC
1. 드라이버로드
2. DB 연결객체인 Connection 생성
3. SQL문 실행, statement(단순 쿼리문), prepareStatement(인자값이 있을때)
4. DB와 연결 끊기
DataSource를 통한 DBCP
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.look("DBCP지정한이름");
남이 만든 소스를 많이보기
모르는 것은 책 찾아서보기
내가 직접 소스를 만들어가면서 예제 소스를 참조하기
'Study > JSP' 카테고리의 다른 글
[JSP] 데이타 전송 (0) | 2019.05.27 |
---|---|
[jsp] cabinet (0) | 2019.05.20 |
[jsp] JSTL (0) | 2019.05.20 |
[jsp] EL 표현언어, 국제화 태그 (0) | 2019.05.20 |
[jsp] FileUpload, 이미지보여주기 (0) | 2019.05.20 |