일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- DBMS
- 인턴 지원
- 방명록 만들기
- 인턴 후기
- 네이버 인턴
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- restapi
- 소개딩
- spring
- reversing.kr
- 메모리 포랜식
- EER
- jsp
- Database
- SessionAttribute
- Forensic 절차
- 동읍면 DB
- Django
- riceteacatpanda
- PyAmdecoder
- 3단계 지역 DB
- frontend
- JSTL
- 소프트웨어 개발보안 경진대회
- Layered Architecture
- 정보보호병 후기
- mysql
- react
- 행정지역 DB
- webhacking 처음
- Today
- Total
웹찢남
Spring - JSP 본문
JSP (JavaServer Pages)
jsp는 jsp 자체가 동작하는게 아니라 Servlet으로 바꿔서 동작
(실제로 sum.jsp는 sum_jsp.java로 변환됨, 보통 service안에 작성됨)
따라서 아래의 꺽쇠들은 Servlet으로 변환할 때 어떻게 바꿀지 알려주는 부분
<%@ %>: 지시자
EX) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
이런 식으로 page 지시자로 사용 - java 언어로 나옴, content type 선언, jsp Encoding type 선언
<% %>: 스크립트릿(Scriptlet)
html안에서 프로그램을 실행 하기 위함, 프로그래밍 코드 기술
EX) <% int total = 0; for(int i = 1; i <= 10; i++){ total = total + i; } %>
<%= %>: 표현식
화면에 출력할 내용 기술
EX) 1부터 10까지의 합 : <%=total %>
out.print(); 과 <%= %>가 같다고 생각하면 됨
<body>
<%
for(int i=1; i<=5; i++){
%>
<h<%=i %>> JSP </h<%=i %>>
<%
}
%>
</body>
<%! %>: 선언문
이 클래스에 전역,멤버 변수, 메소드, 필드를 선언할 때 사용
EX) <%! public void jspInit() { System.out.println("jspInit()!"); } %>
<body>
id : <%=getId() %>
<%!
String id="u001"; // 멤버 변수 선언
public String getId(){ // 메소드 선언
return id;
}
%>
</body>
<!-- --> <%-- --> // /**/주석
JSP 페이지에서는 HTML주석, Java주석, JSP주석을 사용할 수 있음
JSP 주석의 경우 Servlet으로 변환할 때 없어짐, HTML은 끝까지 나옴, Java는 Servlet으로 바뀔때 없어짐
따라서 상황에 따라 주석을 사용해야 함
xx.jsp가 실행될때
1. 이클립스 워크스페이스 아래의 .metadata폴더에 xx_jsp.java 생성
2. 해당 파일의 _jspService() 메소드 안에 jsp 파일의 내용이 변환되어 들어가 있음
3. xx_jsp.java는 서블릿 소스로 자동 컴파일 되어 실행되 그 결과가 브라우저에 보여짐
JSP의 실행 순서
1. 브라우저가 웹 서버에 JSP에 대한 요청 정보 전달
2. 브라우저가 요청한 JSP가 최초로 요청했을때
1) JSP가 서블릿으로 코드 변환
2) 서블릿 코드를 컴파일 해 실행 가능한 bytecode로 변환 (class 파일 생성)
3) 서블릿 클래스를 로딩하고 인스턴스 생성
3. 서블릿이 실행되어 요청을 처리하고 응답 정보 생성
JSP 내장객체
JSPService()에 삽입된 코드의 윗 부분에 미리 선언된 객체들이 있는데 jsp에서 사용가능
response, request, application, session, out 등을 내장 객체라고 함
내장 객체들은 객체를 따로 생성 혹은 선언하지 않아도 사용할 수 있다.
<body>
<%
StringBuffer url = request.getRequestURL();
out.print("URL: "+url.toString());
out.print("<br>");
%>
</body>
'BACK_END > Spring 공부' 카테고리의 다른 글
Spring - EL (Expression Language) (0) | 2021.02.02 |
---|---|
Spring - Scope (0) | 2021.02.02 |
Spring - Servlet 생명 주기 (0) | 2021.02.01 |
Spring - DBMS,MiddleWare,WAS (0) | 2021.01.26 |
Spring - JDBC(DTO,DAO) (0) | 2021.01.26 |