[Backend]JSP

ERror.ASER·2021년 4월 2일
0

Backend

목록 보기
2/4

JSP(Java Server Page)

  • JSP는 Html내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다.
  • Java EE 스펙 중 일부로 웹 애플리케이션 서버에서 동작한다.
  • 실행시에는 자바 서블릿으로 변환된 후 실행(최초 jsp 요청시, jsp file 변경 시)되므로 서블릿과 거의 유사하지만 서블릿과는 달리 html 표준에 따라 작성되므로 웹 디자인하기에 편리하다.
  • Java in HTML

Scripting Element

  • 선언(Declaration) : 멤버 변수 선언이나 메소드를 선언하는 영역

    <%! 변수 혹은 메소드 %>

<%!
String str;

public void init() {
	str = "hi";
}
%>
  • 스크립트립(Scriptlet) : Client 요청 시 매번 호출되는 영역으로, Servlet으로 변환할 때 service method에 해당된다. request, response에 관련된 코드를 구현한다.

    <% 자바 코드 %>

<%
for(int i = 1; i<=10; i++) {
	out.println("<hr>"+i);
}
%>
  • 표현식(Expression) : data를 브라우저에 출력할 때 사용한다.

    <%= 문자열 %>

<%= num %>!!
// <% out.print(문자열); %>과 같은 표현이다.
// 그러므로 <%= 문자열; %>은 세미콜론이 2개가 붙어져 있는 형태가 된다. ;를 쓰면 안된다.
  • 주석(Comment) : 코드 상에서 부가 설명을 작성

    <%-- 주석 --%>

<%-- JSP 주석입니다 --%>
<!-- HTML 주석입니다 --%>

// html은 개발자모드에서 주석이 보이지만, jsp는 보이지 않는다는 차이점이 있다.

directive

  • page Directive : 컨테이너에게 현재 jsp페이지를 어떻게 처리할 것인가에 대한 정보를 제공한다.

    <%@ page attr1="val1" attr2="val2" ... %>

  • include Directive : 특정 jsp file을 페이지에 포함한다. 여러 jsp페이지에 반복적으로 사용되는 부분은 jsp 파일로 만든뒤 반복 영역에 include시켜 반복되는 코드를 줄일 수 있다.

    <$@ include file="/template/header.jsp" %>

  • taglib Directive : jstl 또는 사용자에 의해서 만든 커스텀 태그(custom tag)를 이용할 때 사용되며 jsp 페이지 내에 불필요한 자바 코드를 줄일 수 있다.

    <%@ taglib prefix="c" url="http://java.sun.com/jsp/jstl/core"%>

Web Page 이동

forward(request,response)sendRedirect(location)
사용방법RequestDispatcher dis = request.getRequestDispatcher(path);
dis.forward(request,response);
response.sendRedirect(location);
이동 범위동일서버(project)내 경로동일 서버 포함 타 url 가능
location bar기존 url 유지(실제 이동되는 주소 확인 불가)이동하는 page로 변경
객체기존의 request와 response가 그대로 전달기존의 request와 response는 소멸되고, 새로운 request와 responserk todtjd
속도비교적 빠름forward()에 비해 느림
데이터 유지request의 setAttribute(name,value)를 통해 전달된다.request로는 data 저장 불가능. session이나 cookie를 이용한다.
profile
지우의 블로그

0개의 댓글

관련 채용 정보