Develop/JavaScript JQuery JSP

0712 JSP 3일차

포페PostFace 2022. 7. 15. 17:30

내가 JSP 파일을 작성하면
HTML,CSS,JAVA등의 언어로 작성을 하지만
해당 파일을 구동하려면 전체가 한번 
JAVA언어로 전환되어야 한다.
그 과정을 확인을 하기 위해서

원래는 이 위치에 파일을 만들었지만
C:\JSP_jjh\01_basic\src\main\webapp\01_basic

웹서버 폴더 위치:
C:\JSP_jjh\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\01_basic\01_basic
이 위치에 내가 만든 파일이 하나 더 생기고
이 파일이 실행되는것이다.

jsp => java(서블릿 servlet)로 전환된 파일 저장 폴더 위치:
C:\JSP_jjh\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\01_basic\org\apache\jsp\_01_005fbasic
이 폴더에 jsp파일을 java파일로 전환한 java파일과 
그 java파일을 class파일로 전환한 class파일이 있다.

jsp에서 자바코드를 작성할때 예외처리를 굳이 안해줘도
되는 이유도 서블릿 과정을 거치면서
알아서 예외처리도 작성해주기 때문이다.

JSP 동작과정
1. jsp 파일 요청
2. jsp 컨테이너로 전송 : 웹컨테이너로 jsp 파일을 넘긴다.
3. jsp 파일 파싱(분석) : 해당 jsp 파일이 처음 요청된것이면, 파일을 파싱한다. 이전에 요청되었던 페이지일 경우에 바로 6번 단계로 넘어간다.
4. 서블릿으로 변환 : 새로운 자바파일을 생성한다.
5. 클래스 파일 생성 : 서블릿 파일(자바파일)은 실행 가능한 상태의 클래스 파일로 컴파일 된다.
6. 메모리에 로딩 : 클래스 파일은 메모리에 로딩된다.
7. html 전송 : 클래스 파일에 대한 실행 결과는 다시 웹서버로 넘겨진다. 웹서버는 html 형태로 사용자에게 응답을 한다.
8. 브라우저에 html 실행 되어짐


액션태그
include,forward,useBean

useBean 액션태그
객체를 만들때 사용한다.

<jsp:useBean id="pb2" class="myPkg.PersonBean">

id = 객체명
class = Bean파일명 (Import가 되어 있어도 패키지명까지
작성해야한다.)


<jsp:setProperty property="name" name="pb2" value="<%=name%>"/>
setProperty : 자바의 setter메소드와 같은 역할
porperty는 Bean안에 설정할 객체명 (소문자로 작성)
porperty는 setter 메소드 이름이다.
name은 Bean 객체명(useBean에서 설정한)
value를 통해 값을 설정한다.
porperty를 '*'로 설정하면 전체 값을 설정할 수 있다.
단, Bean클래스 객체명과 form의 객체명이 같아야한다.

value자리에 param을 넣으면 스크립트릿으로 작성하지
않아도 된다.
(form에서 name이 name인 곳에 담겨 넘어오는 값을 setName으로 바로 넘긴다.)
param과 property의 이름이 같으면 param을 생략해도 된다.

value는 form에서 넘어오는 값 상관 없이 무조건 value에 지정한
값이 setter로 넘어간다.
둘이 동시에 사용하면 안된다.

<jsp:setProperty property="name" name="pb2" param="name"/>

<jsp:getProperty property="name" name="pb2"/>

getProperty도 있다.


getProperty는 배열형태의 데이터는 가져올 수 없다.
가져올 수 없다기보단 해당 배열의 주소를 리턴하기 때문에
번거롭더라도 자바코드(for문)로 작성해 줄 필요가 있다.

'Develop > JavaScript JQuery JSP' 카테고리의 다른 글

0718 Singleton 패턴  (0) 2022.07.22
0713~15 JSP JDBC 응용을 통해 테이블 작성  (0) 2022.07.15
0711 JSP 2일차  (0) 2022.07.15
0708 JQuery 마무리와 JSP Start!  (0) 2022.07.08
0707 AJAX JSON XML  (0) 2022.07.08