-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
-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.
유저 이름을 프린트하는 JSP scriptlet tag (html -> jsp)
-JSP expression tag : response의 output stream에 쓰여짐
주로 변수나 메소드의 value 값을 프린트하기 위해 사용됨
welcome message를 보여줌
현재 시간을 프린트함
유저 이름을 프린트함 (jsp -> jsp)
-JSP Declatation tag : fileds, methods 를 선언하기 위함
jsp declaration 안에 작성된 코드는 service() method of auto generaged servlet 밖에 위치함
JSP Scriptlet tag와 Declation tag의 차이점
JSP Scriptlet Tag | JSP Declaration Tag |
오직 변수만 선언. 메소드는 아님 | 변수와 메소드 모두 선언 가능 |
__jspService() method 안에 위치 | __jspService() method 밖에 위치 |
filed를 선언하는 JSP declaration tag
method를 선언하는 declaration tag
-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
결과
-JSP Response : an implicit object of type HttpServletResponse
Example of response implicit object
결과
-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
결과
-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
결과
-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:
'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 |