본문 바로가기
JSP

JSP (장단점, 기본 문법)

by code2772 2022. 11. 17.

[ 목차 ]

    728x90
    반응형

    ✔ JSP

    ✔ JSP(Java Server Pages)
    - HTML 코드에 Java 코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구(서버 스크립트)
    - JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작하여 필요한 기능을 수행하고
        생성된 데이터를 웹페이지와 함께 클라이언트로 전달
    xxx.jsp
    클라이언트 -----------------------> 서블릿 컨테이너
    jsp -> Servlet 파일로 변환
    Servlet -> class 파일로 컴파일
    class -> html 형태로 변환

     

    ✔ JSP 장점

    ✔ JSP 장점
    - Java코드에 HTML 코드가 삽입되는 문제를 해결
    out.println("<h1>안녕하세요</h1>"); (X)
    
    <%
            System.out.println("안녕");
            %>
    <h1>안녕하세요</h1> (O)
    
    - 퍼블리셔와 협업이 가능
    - 간단한 페이지를 구현할 때는 JSP문서로 제작하는 것이 시간을 절약

     

    ✔ JSP 단점

    ✔ JSP 단점
    - 복잡한 로직을 구현할 때 HTML 중심의 코드가 이해하기 어렵게 만들 수 있음
    - 프로그래밍 언어를 모르는 사람이 실수로 코드를 망칠 수 있음
    - core 적인 부분의 로직의 유출을 막기 위해 Java 파일로 따로 작성하는 것이 보안상 유리

     

    ✔ JSP 기본 문법

    ✔ JSP 문법
    디렉티브 태그
    - 현재 JSP 페이지에 대한 정보를 설정하는 태그
    - 페이지 최상단에 선언
    
    <%@ page ~~~%>
    
    import : 자바 클래스를 사용
    language : 사용할 프로그래밍 언어를 설정
    contentType : 생성할 문서의 컨텐츠 유형
    pageEncoding : 페이지 문자 인코딩을 설정
    스크립트릿
    - 자바 변수 선언 및 자바 로직 코드를 작성하는데 사용하는 코드
    
    <% ~~~~~~~~~~~ %>
    표현문
    - 변수, 계산식, 메소드 호출등 결과를 나타내는 태그
    - 타입은 항상 문자열
    
    <%= 변수 또는 계산식 등.. 작성%>
    선언문
    - 자바 변수나 메소드를 정의하는데 사용하는 태그
    
    <%! ~~~~~~~~~~%>

     

    ✔ JSP 기본 문법 예제 코드

    <%@ page language="java" contentType="text/html; charset=UTF-8"
            pageEncoding="UTF-8"%>
    <%@ page import ="java.util.Date" %>
    
    <%-- ❗        <%@ page ~~~ %> : 페이지 무조건 최상단, 정보를 설정하는 페이지
            language : 사용할 프로그래밍 언어, java를 사용
            contentType : 생성할 문서의 컨텐츠 유형, HTML 사용
            pageEncoding : 문자 인코딩을 설정 -> UTF-8을 사용한다.
            java.util.Date -> Date형식을 가저오는 정보 설정 페이지
    
            ❗--%>
    
    
    
    <%-- <%~ %>를 사용하여 변수를 선언
            userid, name, age, height 를 선언함 --%>
    
    
    <%
            String userid ="apple";
            String name = "김사과";
            int age =20;
            double height = 160.5;
    
            %>
    
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>변수</title>
    <style >
             h2, p {text-align:center;}
    </style>
    
    
    <!-- HTML, CSS를 전부 사용이 가능 -->
    
    
    </head>
    <body>
    <h2>변수 (현재시간 : <%=new Date() %>)</h2> <!-- DATE 날자를 제목에 넣음  -->
    <p>아이디 :<%=userid %> </p>
    <p>이름 :<%=name %> </p>
    <p>나이:<%=age %> </p>
    <p>키:<%=height%> </p>
    
    <%--  <!--  변수 또는 계산식,메소드 등을 호출한다.
            여기에서는 userid, name 등을 변수로 선언하였다. --> --%>
    
    <%
            out.println("<p>안녕하세요. JSP 테스트 페이지 입니다.</p>");
            out.println("<p>"+name + "님 환영합니다!</p>");
            System.out.println("콘솔에 출력합니다.");
    
    
            if(age>19){
            out.println("<p> 성인입니다. </p>");
            }else{
            out.println("<p> 미성년입니다. </p>");
            }
            %>
    
    <!--     /*if 문  사용이 가능하며 out.println(<p></p>)
        를 사용하여 브라우저에 출력이 가능하며 
        System.out.println을 사용하여 콘솔 창에 출력하게 한다.*/ -->
    
    
    </body>
    </html>

     

    ✔ JSP 기본 문법 예제 코드 결과

     

    반응형