본문 바로가기

Study/JSP

[jsp] 총 정리

웹 어플리케이션 동작 순서

웹 어플리케이션 서버(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