- 문법
- 주석
- HTML 주석
웹 서비스에서는 내용이 보이지 않으나, 웹의 소스보기를 수행하면 주석 내용이 표시
- JSP 주석
JSP 코드는 servlet으로 변환이 되는데, jsp 주석은 변환이 되지 않는다.
즉, 변환된 코드와 html 코드 소스보기에는 jsp 주석은 찾아볼 수 없음
- JAVA 주석
주석도 변환되어 servlet에 주석으로 남아있지만, html 소스보기에서는 볼 수 없다.
- JSP 내장 객체
JSP는 servlet으로 변환되기 때문에, 서블릿의 내장객체(service())부분에 존재하는 객체를 jsp에서 써도 된다.(미리 선언되어 있음)
Scope
Application : 어플리케이션이 시작되고 종료될 때까지 데이터 유지
Request : 요청을 받고 그 요청에 대한 응답을 할 때까지 데이터 유지
Session : 브라우저 별로 데이터 유지(요즘은 탭이 바뀌어도 유지)
Page : 페이지 내에서만 지역변수처럼 사용
- Page
PageContext 추상 클래스 사용(JSP에서 내장 객체이므로 사용 가능)
jsp에서 pageScope에 값을 저장한 후 해당 값을 EL표기법 등에서 사용할 때 사용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
pageContext.setAttribute("value", 10);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
${ pageScope.value }<br>
</body>
</html>
- Request
HttpServletRequest 객체 사용
forward하기 전에 reqeust 객체에 값을 설정해주면 포워드해도 값이 유지됨
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
request.setAttribute("value", 10);
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/WEB-INF/views/index.jsp");
requestDispatcher.forward(request, response);
}
- Session
HttpSession 인터페이스 구현한 객체 사용
HttpServletRequest의 getSession() 이용해 객체 얻음
사용자별로 유지되어야 할 정보에 사용
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
request.getSession().setAttributes("value", 10);
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/WEB-INF/views/index.jsp");
requestDispatcher.forward(request, response);
}
- Application
ServletContext 인터페이스 구현한 객체 이용
모든 클라이언트가 공통으로 사용해야 할 값들이 있을 때 사용
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
request.getServletContext().setAttributes("value", 10);
/*
ServletContext application = getServletContext();
int value = 1;
application.setAttribute("value", value);
*/
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/WEB-INF/views/index.jsp");
requestDispatcher.forward(request, response);
}
EL(Expression Language)
표현 언어는 값을 표현하는 데 사용되는 스크립트 언어
JSP의 기본 문법 보완
JSP의 스코프에 맞는 속성 사용
집합 객체에 대한 접근 방법 제공
수치 연산, 관계 연산, 논리 연산자 제공
자바 클래스 메소드 호출 기능 제공
표현 언어 자체 기본 객체 제공
예
JSTL(JSP Standard Tag Library)
JSTL(JSP Standard Tag Library)은 JSP 페이지에서 조건문 처리, 반복문 처리 등을 html tag형태로 작성할 수 있게 도움
프론트엔드 개발자와 백엔드 개발자의 유지보수를 더 편하게 하기 위해 개발
사용하기 위해서는 라이브러리 다운 필수
'Blog > Spring' 카테고리의 다른 글
Servlet (1) | 2020.08.25 |
---|---|
JDBC(Java Database Connectivity) (0) | 2020.08.19 |
Maven Project (0) | 2020.08.18 |
Maven (0) | 2020.08.18 |
DDL (Create, Drop, Alter) (1) | 2020.08.18 |