(JSP) JSP에 대한 기본 개념.

지식저장공간·2022년 10월 11일
0

Java

목록 보기
6/18
post-thumbnail

Jasper

HTML 코드에 JAVA코드를 작성하여 동적페이지를 생성하는 애플리케이션
JSP확장자를 Java class로 컴파일

Servlet , JSP

Servlet : Java코드사이에 html코드가 작성 되어있다.
JSP : html코드 사이에 Java코드가 작성 되어있다.

하지만, JSP도 Java파일이며 hello.jsp를 실행시키면 작성되어있는 코드들이 WAS와 Jasper에 의해 hello.jsp.java -> hello.jsp.class로 컴파일된다.

HttpServletRequest.getParameter() vs HttpServletRequest.getAttribute()

  • HttpServletRequest.getParameter("parameter")
    : html에서 전송한 데이터를 Servlet Class로 받아오는 역할을 하는 메소드.
    : html에서 name(parameter)에 담긴 value의 값을 가져온다.

  • HttpServletRequest.getAttribute("name") :
    : Servlet Class에서 Request객체에 담은 속성들을 JSP에 받아오는 역할을 하는 메소드.
    : 스크립틀릿안에서 작성하여 JSP확장자에서 Request객체에 담긴 value의 값들을 가져올 수 있다.

JSP Elements표기법

  • 주석 :
    <%-- 주석입니다. %--> : Japser가 컴파일을 하지 않기 때문에 개발자 도구 내에서도 확인이 불가능하다.

  • html 주석 : <!-- hmtl코드 주석입니다.--> : Jasper가 다른 코드들과 함께 컴파일 하기 때문에 개발자 도구내에서 확인 가능하다.

  • 페이지 지시자 : <%@ page %>

  • 표현식 : <%= variable %>

  • 스크립틀릿 : <% JSP 확장자내에서 자바코드를 작성하는 구간 스크립틀릿%>

JSP 내장 객체 영역
: Servlet Class에서 JSP로 보낸 데이터를 사용할 시 중요하게 구분해야 한다.

page < request < session < application

  • page : 하나의 JSP페이지를 처리할 때 사용되는 영역
  • request : 하나의 요청을 처리할 때 사용되는 영역
  • session : 하나의 브라우저와 관련된 영역
    HttpSession session = request.getSession();
    session.invalidate(); : session을 제거한다
    session.setMaxinactiveInterval(); : session에 대한 유효시간을 설정한다.
  1. session은 일회성 데이터를 보관하기에 부적합하다.
  2. session은 유효 시간이 존재한다.
ex)
1. 회원가입정보를 session에 담으면 회원가입 후 에도 해당 데이터들이 session에 남아 있기때문에 데이터양이 커진다.
2. 로그인 후 로그인한 사용자 정보를 계속 가지고 있기 위해 session을 사용한다. 단, 정보보안을 위해 session에 대한 유효시간을 설정하여 일정시간 후 데이터를 삭제해 로그인에 대한 정보를 제거할 수 있다.
  • application : 하나의 웹 애플리케이션과 관련된 영역
    [ServletContext application = request.getServletContext();]

JSP 지시자 태그

  • <%@ page %> : 현재 JSP파일에 대한 설정을할 수 있다.

  • <%@ include file =" [ jsp, html] "%> : 다른 JSP 또는 html 파일에 존재하는 모든 코드들을 해당 JSP파일에 그대로 가져온다.

  • <%@ page isErrorPage="true"> : isErrorPage를 설정하지 않으면 Exception처리가 불가능하다. 설정하지 않아도 ErrorPage로써 작동, 기능은 하지만, 예외처리는 불가능하다.

System.out.println() , PrintWriter.println()

System.out.println() : IDEA프로그램내 존재하는 Console에 결과를 띄우기 위함.
html파일 로드시 해당 메소드에서 출력하는 값을 확인 할수가 없다.

PrintWriter.println() : View(jsp,html)파일 로드시 해당 화면에서 결과값들을 확인 할 수 있으며, IDEA내 Console에는 출력되지 않는다.

profile
발전하는 개발자가 꿈입니다. 지식을 쌓고 지식을 활용해 목표 달성을 추구합니다.

0개의 댓글