minlog
article thumbnail

 

 

[ JSP/Servlet ] 웹 프로그래밍개발환경 구축

웹 서버, 웹 어플리케이션 서버 설치 1. 톰켓 설치 웹 어플리케이션 서버로 웹 서버 기능이 포함되어 있다 톰켓 홈페이지에서 원하는 버전( Tomcat 8 ) 다운로드 C:\tomcat 폴더로 압축을 풀고 사용이

jimin-log.tistory.com

 

사용자와 서버의 구성

간단한 응용프로그램과 서버 구축은 JAVA SE만으로도 구성이 가능하지만,

WAS를 이용하는 서버 개발은 JAVA EE에서 추가로 제공하는 기능을 사용합니다.

 

WAS (Tomcat) 은 자바로 만들어진 JSP와 Servlet을 구동하기 위한 *서블릿 컨테이너 역할을 수행한다.

( * 서블릿의 생명주기를 관리 하며 웹환경에서 서블릿이 구동 될 수 있도록 해주는 프로그램 )

 

      사용자             =>            WEB (웹 서버)             =>          WAS (웹서버  + 웹 컨테이너 )            =>           DB   
정적 브라우저                       서버  ( Apach )                                 Tomcat , jeus ...                                  Oracle ,Mssql ...
                                       HTML / CSS /JAVASCRIPT                      JSP/Servlet 

 

 

 

 

서블릿이란?

자바 클래스와 동일한 개념.  ( 확장자 .java )

웹 클라이언트의 요청을 처리할 수 있는 클래스이다.

JSP 이전 세대의 동적 웹페이지 생성 언어로 브라우저에서 JSP를 호출하면 WAS에서 서블릿 웹 페이지를 동적으로 생성

 

 

 

💡서블릿 생명주기

1) init() 메서드

  • 처리에 필요한 자원에 대한 초기화 작업

2) service() 메서드

  • 요청에 대해서 필요한 처리
  • 실제 요청에 대한 처리를 담당하는 메서드로 필요한 로직이 담겨있는 메서드

3) destroy() 메서드

  • 사용된 자원을 해제한 뒤, 서블릿을 종료

 

 

 

 

💡 MVC 패턴 으로 개발이 이루어지게된다.

유지보수가 편리하도록(다른 작업에 영향을 주지 않도록) 각 역할별 기능을 나누어 작성하여 웹페이지를 개발한다.

결합도를 낮추고 응집도를 높이는 개념.  MVC 패턴을 구현하는 방법은 명확하게 정해진 것이 아님.

 

  • Model ( java / HttpServlet 상속한 클래스 ) : 애플리케이션의 정보(데이터)
  • View ( jsp ) : 인터페이스 요소
  • Controller  (서블릿 ): 데이터와 비즈니스 사이의 상호작용 관리

 

 

 

💡 MVC 패턴 적용 이전 구현방식 

1) JSP 파일로 처리하는 방식

  • JSP 요청 - 처리 - 응답
  • JSP 요청 - 처리 - redirect 응답
  • JSP요청 - 처리 - forword ( 다른 jsp ) - 처리 - 응답

 2) 서블릿으로 처리하는방식

  • URL요청 - 서블릿에서 처리 - 직접응답
  • URL요청 - 서블릿에서 처리 - redirect 응답
  • URL요청 - 서블릿에서 처리 - forword(jsp 선택) - JSP 처리(값 세팅) - 응답 ( MVC )

 

 

 

 

JSP 란?

HTML 내부에 JAVA코드를 삽입하는형식이 JSP이다. (확장자 .jsp)

정적인 웹페이지를 동적인 웹페이지로 변경 시켜주는 역할.

HTML 내부에 JAVA코드를 삽입하는형식이 JSP이다.

 

서블릿(Servlet)을 이용해 웹을 만들경우 인터페이스 구현이 까다로워,

단점을 보완하기 위해 만든 서블릿 기반의 스크립트 기술이다.

 

 

 

💡  JSP에서 JAVA 사용법 

1. 선언문 

<%!  전역변수, 메소드 %>

 

전역변수(멤버변수)나 메서드를 선언하는 부분 외의 자바 로직이 나오면 안 된다.

JSP페이지 어느 곳에서나 변수의 참조가 가능하다.

 

 

2. 스크립트릿

<%  순수 자바 코드 기술  %>

스크립트릿는 메서드의 내부라고 생각하면 된다.

때문에 스크립트릿 안에서는 메서드 선언이 안되며 내부의 변수는 지역변수(반드시 초기화 필요)이다.

 

 

3. 표현식

<%=   변수,  메서드 결과값  브라우저(HTML)에 출력  %>

HTML 부분에 출력용으로 사용된다. (동적인 JSP 페이지를 브라우저로 표현하기 위한 요소)

변수를 출력하거나 메소드의 결과값을 브라우저에 출력 할 수 있다.

스크립트릿 코드 내에서 out이라는 내장객체를 통해 브라우저에 출력 가능하다.

스크립트릿과 달리 변수나 메소드를 출력하려 할 때 세미콜론(;)은 표기하지 않는다.

(But. 서블릿 코드로 변환될 때 자동적으로 세미콜론은 붙여짐)

 

 

4. 주석

<% - -  내용  - -%>

HTML의 주석은 소스보기를 실행하였을때 주석의 내용이 보여지지만,

JSP의 주석은 컴파일시 제외되어 JSP 파일 원본에서만 확인 할 수 있다.

 

 

 

 

💡  JSP 지시자 3가지

<%@ 지시어 속성1="값1" 속성2="값2" ... %>

지시어는 페이지의 속성, 정보 등을 선언 또는 지시하는 역할을 하는 부분으로 jsp파일의 최상단에 위치합니다.

 

1. page 지시자

<%@ page contentType="text/html;charset=EUC-KR"%>

 

속성 값 기본값 예제

속성 내용 예시
info 페이지에 대한 설명을 입력  
language 페이지에서 사용할 스크립팅 언어  
contentType 페이지에서 생성할 MIME 타입, 문자 집합 contentType="text/html;
pageEncoding charset과 같이 인코딩 지정  
import 페이지에서 사용할 자바 패키지와 클래스를 지정 import="java.util.Vector"
session 세션 사용여부 지정  
buffer 출력 버퍼의 크기를 지정 , 사용하지 않으려면 "none"  
autoFlush 출력 버퍼가 모두 채워지면 자동으로 비울지 설정  
trimDirectiveWhithe 지시어 선언으로 인한 공백 제거 여부 지정  
errorPage 에러가 발생시, 에러 발생여부를 보여줄 페이지 지정 errorPage="error.jsp"
isErrorPage 에러를 처리할지 여부를 지정 isErrorPage="false"

 

2.  include 지시자

JSP 문서에 외부 파일의 코드를 포함하도록 지시한다.

현제 파일에 다른 파일을 포함시키는 지시자로 단순히 복사되어 컴파일 되는것을 말한다.

<%@include file="URL"%>

 

3. taglib 지시자

사용자가 만든 tag들을 태그 라이브러리 라고 하며, 해당 태그 라이브러리를 사용하기 위한 지시자이다.

<%@ taglib uri="http://taglib.com/sampleURI" prefix="cmanPrefix" %>

 

 

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!