웹과 JSP 프로그래밍 이해하기
인터넷과 웹의 개요
가장 널리 쓰이는 웹 서버
정적 웹 페이지
동적 웹 페이지
JSP 개발 환경 도구
자바 개발환경 : JDK
웹서버 : 동캣
* 통합 개발 환경 : 이클립스
JDK(Java Development Kit) : 자바 개발 도구
JRE(Java Runtime Environment) : 자바 실행 환경
톰켓서버 설정 web.xml
프로젝트 설정시 환경설정 major 3총사!! 암기
1. Java Build Path
2. Project Facets
3. Deployment Assembly
또한 정적 문서로만 이루어져 있기 때문에 모든 호스팅 서버에서도 동작할 수 있다는 것이 장점입니다.
그러나 기술이 발전함에 따라 사용자의 기호에 맞게 능동적으로 변화하는 웹 페이지가 필요해져서 이를 위해
동적 웹 페이지를 제공하는 PHP, ASP, JSP와 같은 언어가 개발되었습니다.
현재 우리가 보는 대부분의 웹 페이지는 동적 웹 페이지라고 할 수 있습니다.
동적 웹 페이지는 사용자가 웹 페이지에 글을 작성하거나 환경 설정 등을 바꾸면 그 내용이 서버에 있는 데이터베이스에
저장되고 결과가 웹 페이지에 반영되는 형태로 동작합니다.
❷ JSP는 유지 관리가 용이합니다.
서블릿 기술에는 프레젠테이션 로직과 비즈니스 로직이 섞여 있지만 JSP 기술의 경우
프레젠테이션 로직과 비즈니스 로직을 분리할 수 있기 때문에 관리하기가 쉽습니다.
❸ JSP는 빠른 개발이 가능합니다.
코드를 수정했을 때 서블릿에서는 업데이트를 하고 다시 컴파일해야 합니다.
그러나 JSP의 경우 다시 컴파일하고 프로젝트를 배포할 필요가 없습니다.
❹ JSP로 개발하면 코드 길이를 줄일 수 있습니다.
JSP에서는 액션 태그, JSTL( JavaServer Pages Standard Tag Library), 사용자 정의 태그 등
의 다양한 태그와 표현 언어, 내장 객체 등을 사용함으로써 서블릿보다 코드를 줄일 수 있습니다.
❶ 웹 브라우저가 웹 서버에 JSP를 요청합니다.
웹 서버는 요청된 Hello.jsp에서 jsp 확장자를 발견하여 JSP 페이지임을 확인하고
웹 서버에 있는 JSP 컨테이너에 전달합니다.
❷ JSP 컨테이너는 JSP 페이지를 서블릿 프로그램인 Hello_jsp.java로 변환합니다.
❸ JSP 컨테이너가 서블릿 프로그램을 컴파일하여 Hello_jsp.class로 만들고 이를 웹 서버에
전달합니다.
❹ 웹 서버는 정적 웹 페이지처럼 *.class의 실행 결과를 웹 브라우저에 응답으로 전달하므로
웹 브라우저는 새로 가공된 HTML 페이지를 동적으로 처리한 결과를 보여줍니다.
액션태그 : <jsp:forward,include ...등등>
디렉티브태그 : <%@ page language="java" contentType="text/html; charset=UTF-8"%>
스크립트태그 :
<%! %> 선언문
<% %> 스크립틀릿
<%= %> 표현문
HTML 코드에 자바 코드를 넣어 프로그램이 수행하는 기능을 구현
스크립트 태그
선언문 태그를 사용하여 자바 변수와 메소드 정의
스크립틀릿 태그로 자바 로직 코드 작성
표현문 태그로 선언문의 메소드를 호출하여 문자열 형태로 만든다