JSP

47일차 2023-05-12

choi Hoon 2023. 5. 12. 19:39

JSP

서블릿

was 서버들의 공통적인 디렉토리 구조

 

Context Root 하위 WEB-INF 하위에

Classes폴더(클래스 파일이 위치), 

lib폴더(jar파일이 위치),

src폴더(java파일이 위치),

xml파일(설정 파일) 

 

 

 

JSP 처리 과정

 

브라우저에서 jsp파일 요청->(서블릿 컨테이너) JSP페이지가 Java코드 생성->(DB서버 연결) ->(컴파일)->자바 소스코드로 서블릿 생성(.class)->.class파일로 html로 변환시켜서 웹 브라우저에 전달해서  클라이언트에 응답

 

(D:\CSH\Workspace\java\basic\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\JSPProj\org\apache\jsp
여기에서 HelloWorld_jsp.class 여기서 .class가 스레드로 작동)

JSP의 구성요소

지시어(Directive), 스크립팅 원소(Scripting Element)

<%@ %>

@에 커서 놓고 ctrl+space바 

include , page, taglib

page지시어 종류: contentType, import, info, language, session, buffer, autoflush, errorPage, isErrorPage, pageEncoding

 

include 지시어: includePage.jsp 같은 파일을 만들어서 include지시어 만으로 사용가능

 include의 file속성: 해당 페이지의 소스를 변경하지 않고 그대로 사용(include.jsp파일)

 

D:\CSH\Workspace\java\basic\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\JSPProj\org\apache\jsp

이건 서블릿 위치인데 .java와 .class파일이 여기 있다 근데 IncludeIndex_jsp.java, IncludeIndex_jsp.class 이런 식으로 있음

한마디로 include의 file속성은 이렇게 변경되지 않는다.

참조용

 

 

 

<%@ include file="포함할 파일 경로" %> 

여기선 /include.jsp 이런 식으로 

 

taglib은 나중에

 

스크립팅 원소 종류 3가지

 

선언부(declaration)

스크립트릿(scriptlet)

표현식(expression)

 

선언부:

형태: <%!자바코드%>

멤버변수,멤버메소드 선언하는 곳

 

스크립트릿:

형태:<%자바코드%>

 

표현식:

형태:<%=자바코드%>

 

 

 

 

jSP주석

HTML주석:<!-- -->

JSP주석:<%-- --%> 단축키는 ctrl+shift+c

Java Code주석:<% //한 줄 주석 %>, <% /*여러 줄 주석 */%>

 

 

프로젝트 파일 경로

 

ErrorIndex.jsp

ErrorInfo.jsp

IncludeIndex.jsp

IncludedPage.jsp

 

 

ScriptingBasic.jsp

UseInCSSL.jsp

Expression.jsp

 

 

ScriptExample.jsp

oracle을 연결하기 위해 webapp 하위 WEB-INF 하위 lib에 ojdbc6.jar파일 넣기

ScriptingExample.jsp