Web Developement

12. JSP

green333 2021. 1. 20. 23:50
728x90
SMALL

-JSP(HTML + Java) Introduction

 

Servlet technolgy 와 같이 웹 어플리케이션 을 만들기 위해 사용됨.

JSP는 JSTL과 같이 Servlet보다 더 많은 기능을 제공하기 때문에 Servlet의 확장된 개념이라고 할 수 있음.

 

 

서블릿이란 java 프로그래밍을 웹 어플리케이션에서 구현하기 위한 기술. java로 구현된 CGI(Common Gateway Interface)라고 함. 

 

JSTL : JSTL(JavaServer Pages Standard Tag Library) + EL 

HTML 코드 내에 java 코드인 스크립틀릿 <%= student %>를 ${student}로, <%=if%> 문을 <c:if>, <%=for%>문을 <c:forEach>로 대체하여 사용함

 

예전에는 스크립틀릿을 많이 사용했지만 가독성이 떨어지고 뷰와 비즈니스로직의 분리로 인해 현재는 JSTL을 많이 사용함. 

JSTL과 EL은 보통 함께 사용

스크립틀릿 : <% 자바 소스코드 %> - JSP에서 자바 코드를 사용할 수 있게 해줌

 

1) Extension to Servlet

2) Easy to maintain

3) Fast development : no need to recompile and redeploy

4) Less code than Servlet

 

 

The Lifecycle of a JSP Page

 

 

 

 

Creating a simple JSP Page with some HTML in WebContent

 

 

 

 


 

-JSP API

JSP API consists of two packages:

1. javax.servlet.jsp

2.javax.servlet.jsp.tagext

 

javax.servlet.jsp package ( two interfaces and classes)

1. jspPage

2.HttpJspPage

 

The classes are as follows:

  • JspWriter
  • PageContext
  • JspFactory
  • JspEngineInfo
  • JspException
  • JspError

 

-JSP in SpringToolSuite4

 

green333.tistory.com/16

 

11. JSP 프로젝트 만들기(Spring-GitHub연동)

APM 환경 : apache (웹서버)+ php + mysql --> dothome 사용, ftp로 파일 전송 WAS(Tomcat) + jsp + mysql(db4free.net) --> local heroku --> deploy WAS(자바를 해석해서 웹서비스 ) 대표적 서버가 Tomcat (무료..

green333.tistory.com

 


 

-JSP scriptlet tag

JSP Scripting elements : jsp 안에 자바 코드를 insert 하게 함

 

Three types of scripting elements :

  • scriptlet tag
  • expression tag
  • declaration tag

1)  scriptlet tag : to execute java code in JSP.

 

syntax

 

예제

 

유저 이름을 프린트하는 JSP scriptlet tag (html -> jsp)

 

index.html

 

welcome.jsp

 

 


 

-JSP expression tag  : response의 output stream에 쓰여짐

 

주로 변수나 메소드의 value 값을 프린트하기 위해 사용됨

 

 

syntax

welcome message를 보여줌

예제 of JSP expression tag
실행

현재 시간을 프린트함

 

 

 

 

유저 이름을 프린트함 (jsp -> jsp)

 

index.jsp

 

welcome.jsp

 


 

-JSP Declatation tag : fileds, methods 를 선언하기 위함

 

jsp declaration 안에 작성된 코드는 service() method of auto generaged servlet 밖에 위치함

 

 

syntax

 

JSP Scriptlet tag와 Declation tag의 차이점

 

JSP Scriptlet Tag JSP Declaration Tag
오직 변수만 선언. 메소드는 아님 변수와 메소드 모두 선언 가능
__jspService() method 안에 위치 __jspService() method 밖에 위치

 

filed를 선언하는 JSP declaration tag

 

index.jsp

method를 선언하는 declaration tag

 

 

index.jsp

 

 

 


 

-9 JSP Implicit Objects : web container에 의해 생성됨

Object Type
out JspWriter
request HttpServletRequest
response HttpServleResponse
config ServletConfig
application ServletContext
session HttpSession
pageContext PageContext
page Object
exception Throwable

 

buffer에 데이타 넣기 위해  : JSP 는 implicit named out을 제공

 

 


 

-JSP Request : an implicit object of type HttpServletRequest

 

Example of JSP request implicit object

 

index.html
welcome.jsp

 

결과

 


 

-JSP Response : an implicit object of type HttpServletResponse

 

 

 

Example of response implicit object

 

.html
.jsp

결과

 

 


 

-JSP Config : ab implicit object of type ServletConfig ; can be used to get initialization parameter for a particular JSP page

 

Example of config implicit object

 

 

index.html
web.xml
welcome.jsp

결과

 


 

-JSP Application : an implicit object of type ServletContext

 

ServletContext의 instance는 웹 컨테이너에 의해 딱 한번 생성됨. application이나 project가 서버에서 디플로이 될때

 

 

이 object는 configuration file ( web.xml ) 로부터 파라미터를 초기화 할 수 있음.

 

 


 

-JSP Session :  an implicit object of type HttpSession.

 

The Java developer can use this object to set, get or remove attribute or to get session information.

 

Example of session implicit object

 

index.html
welcome.jsp

 

second.jsp

 

결과

 


 

-JSP PageContext : an implicit object of type PageContext class.

 

The pageContext object can be used to set,get or remove attribute from one of the following scopes:

  • page
  • request
  • session
  • application

 

Example of pageContext implicit object

 

결과 

 

 


 

-JSP Page :  an implicit object of type Object class.

 

This object is assigned to the reference of auto generated servlet class. 

 

It is written as:

Object page=this;

 

For using this object it must be cast to Servlet type.For example:

<% (HttpServlet)page.log("message"); %>

 

Since, it is of type Object it is less used because you can use this object directly in jsp.

For example:

<% this.log("message"); %>

 


 

-JSP Exception : an implicit object of type java.lang

 

 

Throwable class. This object can be used to print the exception.

But it can only be used in error pages.It is better to learn it after page directive. 

 

 

Example of exception implicit object:

 

error.jsp

 

 

LIST

'Web Developement' 카테고리의 다른 글

13. JSP2  (0) 2021.02.03
11. JSP 프로젝트 만들기(Spring-GitHub연동)  (0) 2021.01.18
10-2. jQuery (Traversing ~ AJAX)  (0) 2021.01.18
10-1. jQuery  (0) 2021.01.17
9-2. JavaScript로 AJAX 구현하는 간단한 예제  (0) 2021.01.15