ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP/Servelt] JSP/Servelt 기본 개념 정리 1
    DBProgramming/JSP 2023. 6. 12. 22:29

    * 웹페이지 요청방법?

    -  웹서버가 가동중이고 사용자가 요청하면 응답후 꺼집니다.

     

    * 정적페이지/ 동적페이지

    - 정적페이지 : 변하지 않는 성격을 가진 페이지

    - 동적페이지 : 자동으로 생성된 페이지, 기존 웹 서버에 새로운 기능을 가진 프로그램을 탑재하여 동적으로 HTML생성

     

     

    기존의 CGI(Common Gateway Interface) → 확장 CGI

    - 확장 CGI : 서버에서 동작하는 웹프로그래밍 기술이며 , 프로세스 생성방식의 변화로 시스템의 부하를 줄인다.

    (종류 : ASP,PHP,Servlet,JSP)

     

    - 사용자가 요청하는 것에 따라 동적인 페이지를 만들기 위해 웹프로그래밍이 필요한데 동적인 프로그래밍을 하기 위한 기술이 ASP,PHP,Servlet,JSP,Node 등이 있다.

     

    * Servlet이란?

    -  자바 프로그램이 중심 /자바로 html만드는것

    - 사용자의 요구가 큰 경우 프로그램이 복잡해질 때 JSP만으로 협업하기가 어려워져 Servlet 사용

     

    * JSP이란?

    -  HTML중심 / 자바문법 사용하는 것

    - 서버에서 동작하는 웹프로그래밍 중 하나이며 동적인 페이지 생성을 위한 스크립트 언어 (자바언어기반)

    - 특징 : 객체지향적, 플랫폼 독립적, 네트워크 지향적, 뛰어난 보안성, 멀티스레드 기능

     

    * MVC 패턴이란?

    - Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다. (MVC로 인해 Servlet도 중요해짐)

     

     

    JSP → VIEW

    Servlet → Controller

     

     

    * 동적 프로그램 만들 때 보여지는 소스코드

    • JSP, Servlet 은 웹사이트 상 코드 소스가 보여지지 않음.
    • javascript는 소스코드가 다 보여짐 : 중요한 코드를 javascript로 쓰면 안됨
    • 현 시점에서는 Node.js로 인해 javascript가 중요해짐

    ** JSP 를 만들 때에도 내부적으로 Servlet 이 자동으로 만들어져서 Servlet 이 가동되는 것

     

     

    * 스크립트 요소의 이해

     

    * 스크립트 요소란?

    - JSP 프로그래밍에서 사용되는 문법의 표현 형태

     

    1. 선언문 : <%! %>

    - 내부적으로 생성된 Servlet 클래스에 맴버변수나 메소드를 선언할 수 있음.

     

    2. 스크립트릿 : <% %>

    - 온갖 자바문법을 다 쓸 수 있음.

     

    3. 표현식 : <%= %>

    - 출력기능

     

    4. 주석: <%-- --%>

     

    <사용예시>

    <body>
    <%-- 이것은 JSP의 주석입니다. (소스보기 시 노출되지 않습니다.)--%>
    <!-- 이것은 HTML의 주석입니다.(소스보기 시 노출됩니다.) -->
    <%! 
    	//이것은 자바문법 주석입니다.
    	String title = "웹프로그래밍";
    %>
    
    <h2>JSP 문장 구성요소</h2>
    <hr>
    <%
    	int year = 2023;
    	if(year == 2023){
    		title = title + year;
    	}
    %>
    
    title : <%=title %><br>
    year : <%=year %><br>
    
    </body>
    
    • HTML 에서 JSP로 서비스를 요청할 때 request 내장객체에 실려서 가게 됩니다.
    *HTML
    
    <body>
    	<h1>If-else Example</h1>
    	<form action="if.jsp" method="post">
    		이름 : <input type="text" name="name"><br>
    		좋아하는 색깔 : 
    		<select name="color">
    			<option value="yellow">노란색</option>
    			<option value="green">초록색</option>
    			<option value="blue">파란색</option>
    			<option value="pink">분홍색</option>
    		</select> <br>
    		<input type="submit" value="보내기">
    	</form>
    </body>
    
    * JSP
    
    <%
    	request.setCharacterEncoding("utf-8");
    	String name = request.getParameter("name");
    	String color = request.getParameter("color");
    %>
    <body bgcolor="<%=color%>">
    
    <h1>If-else Example</h1>
    <%= name %>님이 좋아하는 색깔은 <%=color %>입니다.
    </body>
    
    
    • HTML <input type="text" name="name">에서 name으로 요청한 것을 JSP request 내장객체에 실어 보냄

     

    * 지시자 종류 (3가지)

     

    1. page : <%@page %>
    • import 할 때 사용
    • errorPage, isErrorPage 따로 import해야함
    1. include :<%@include %>
    • 공통적으로 사용할 JSP가 있을 때 사용
    1. taglib : <%@taglib %>
    • 미리 만들어놓은 태그 라이브러리를 사용하고자 할 때 사용

     

     

    + 추가 개념
    * final이란? (메소드 앞, 변수 앞, 클래스 앞에 위치함)

    →메소드 앞 : 오버라이딩 금지

    →변수 앞 : 상수

    →클래스 앞 : 상속 금지

Coder yein