JSP 1강 - 웹 어플리케이션, 웹 프로그래밍 기초

voilà!·2022년 1월 2일
0

JSP 스프링

목록 보기
1/31

개발환경 설정하기
https://www.eclipse.org/ 접속 후 다운로드 클릭

download packages 클릭

오른쪽 more downloads에서 Eclipse 2020-06 (4.16) 클릭
(jdk1.8을 완벽하게 지원하는 마지막 버전이래)

Eclipse IDE for Enterprise Java Developers 다운로드

다운로드 받은 파일(eclipse-jee-2020-06-R-win32-x86_64)
C드라이브에 넣기

파일 클릭 - eclipse.exe 우클릭 보내기 바탕화면에 바로가기 클릭

eclipse202006.exe 으로 이름 바꾸기~더블클릭해서 실행

워크스페이스 브라우즈 눌러서 D:\A_TeachingMaterial\6.JspSpring\workspace 선택 하고 런치
여기에 프로젝트 폴더랑 서버 넣을거야

노트북의 경우에는 C:JspSpring\workspace 만들어서 경로 잡기

  • 환경설정하기
  1. 상단 window - preferences - JAVA 펼쳐서 - Installed JREs - JDK1.8 체크되었는지 확인
  2. General - workspace - 하단 MS949를 other : UTF-8로 선택 - apply
  3. 왼쪽 상단 검색창에 enc 검색하고 Content Types 클릭
    text클릭하고 펼쳐서 JSP 클릭 - ISO-8859-1을 UTF-8로 바꾸고 update
    HTML이랑 XML도 똑같이 바꾸고 update
  4. css Files, html Files, jsp Files, xml Files도 UTF-8로 바꾸고 apply

프로젝트 만들기
프로젝트가 나중에 어플리케이션이 된다

나중에 어플리케이션으로 배포한다 war로 묶어서!

create a 다이나믹 웹 프로젝트 클릭해서 JSPBook 이름 줬음!
그럼 경로에 폴더 하나 만들어짐

타겟런타임 뉴런타임 눌러서 Apache Tomcat v8.5 선택 하고 넥스트
톰캣 경로에 브라우즈 눌러서 D:\B_Util\5.ApacheTomcat\apache-tomcat-8.5.37 설정해주기

노트북으로 할 때 apache-tomcat-8.5.37 경로 찾아서 클릭

JRE 클릭 JDK1.8선택 - finish

넥스트 눌러서 클래스 위치 창에서 넥스트 - generate wel.xml(역할 : 톰캣 환경 설정/오류났을때 여기로 가라, 파일 업로드 시 위치 설정 등) 체크 - finish

서버 연결하기
하단 servers 클릭 파란태그 클릭 - apache-tomcat-8.5 확인하고 넥스트 - 프로젝트 명 클릭하고 add - 피니쉬
하단 톰캣 더블클릭

HTTP/1.1을 8080 - > 8090으로 바꾼다

아래 모듈 클릭 edit 에서 두번째꺼 /로 바꾸고 저장

1. 웹 어플리케이션 기초

JSP : Java Servlet Page

인터넷과 웹
인터넷 : TCP/IP라는 통신 프로토콜로 정보를 주고받는 전세계 네트워크
웹 : 인터넷에 연결된 컴퓨터들을 통해 정보를 공유할 수 있는 정보공간

웹 동작원리
클라이언트(크롬과 같은 웹브라우저)와 서버(톰캣, 네이버, 다음 등) 사이의 요청과 응답
주소를 만들면 서버(톰캣)에서 html로 렌더링을 한다.

정적 웹페이지와 동적 웹페이지
정적 웹페이지 : 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것 (HTML)
1. 클라이언트가 웹페이지를 요청
2. 이미 준비된 HTML 문서를 그대로 렌더링해서 전달

동적 웹페이지 : 저장된 내용을 다른 변수로 가공처리하여 보는 것
(JSP, PHP(Person Home Page), ASP(Active Server Page))
1. 클라이언트가 웹페이지를 요청
2. 웹서버가 요청을 분석하여 처리
3. 결과를 HTML문서로 생성
4. 요청에 맞게 정제된 HTML문서를 전달
5. 웹브라우저가 HTML을 보여줌

JSP 페이지의 처리 과정
1.JSP 요청
2.번역
3.컴파일
4.JSP 서블릿 실행 응답

JSP 생명주기
번역
컴파일
로딩 및 초기화 : 메모리에 올린다
실행
소멸 : 메모리에서 내린다
(클래스 안에서 처리를 하고 HTML 문서가 만들어진다)

동적 웹 프로젝트의 구조

JAVA를 이용해서 웹사이트를 만들 때 사용하는 다양한 기술

  • 개발언어 : JAVA
  • 웹/어플리케이션 서버 : HTTPD(아파치 웹 서버)나 NGINX, Tomcat, WebLogic 등
  • 서버 웹 기술 : JSP와 Servlet
  • 서버 웹 기술을 위한 프레임 워크 : Spring MVC
  • 클라이언트 웹 기술 : HTML, JavaScript
  • 클라이언트 웹 기술을 위한 프레임워크나 라이브러리 : jQuery, 앵귤러JS등
  • 데이터베이스 연동 : JDBC, MyBatis, JPA
  • DBMS : MySQL, MS SQL, Oracle
  • 통신 프로토콜 : HTTP(Hypertext Transport Protocol)
  • OS : CentOS, Window Server2021 등

프레임워크 = 디자인패턴 + 라이브러리
디자인패턴 = 약속(모든 요청(request)은 servlet으로 온다)
약속을 만든 이유 : 다형성

DB는 개념
1. 정보공유
2. 통합(한 곳에서 관리)
3. 저장
4. 운영

실습환경

  • JDK 1.8 : 자바 개발 도구로써 Compile하고 Tomcat을 실행할 때 사용
  • Tomcat 8.5 : JSP를 실행하기 위한 Web Container(Web서버 + 서블릿)
  • Oracle : DBMS
  • Eclipse : 통합 개발 환경으로 Java에서 널리 사용됨
  • IntelliJ : Eclipse와 유사

URL(Uniform Resource Locator)
웹 브라우저의 주소줄에 표시되는 것
URI : URL + 기능

URL의 주요 구성 요소

  • 프로토콜 : Web Browser가 Server와 내용을 주고받을 때 사용할 규칙 이름. Web page의 주소를 표현할 때는 http를 사용함
  • 서버이름 : Web page를 요청할 서버의 이름을 지정
    서버 이름은 daum.net과 같은 도메인 이름이나 112.220.114.130와 같은 IP 주소를 입력할 수 있음
  • 경로 : Web page의 상세주소에 해당함. 즉, Web page마다 다른 경로를 갖음
  • 쿼리 문자열 : 추가로 서버에 보내는 데이터에 해당함. 같은 경로라 하더라도 입력한 값에 따라 다른 결과를 보여줘야 할 때 쿼리 문자열을 사용함.

웹 컨테이너

  • 웹 어플리케이션을 실행할 수 있는 컨테이너
  • JSP와 서블릿을 실행해줌

웹 콘테이너 : JSP + 서블릿

  • 주요 웹 컨테이너
    톰캣(Tomcat)
    제티(Jetty)

JSP를 사용하는 이유

  • 자바언어에 기반하기 떄문에 플랫폼에 독립적
    (리눅스 등 운영체제에 상관없이 동작)
  • 자바언어에 대한 깊은 이해가 없어도 초기 학습 가능
    (스크립트 언어는 상대적으로 자바 언어보다 단순)
  • 스프링이나 스트러츠(Struts)와 같은 프레임워크와 완벽하게 연동

프레임워크 = 디자인패턴(약속) + 라이브러리

2. 웹 프로그래밍 기초

404, 500 등 오류 발생 시 어디로 갈건지 web.xml에서 처리

<%@ %> : 디렉티브
<%! %> : 선언부
<%= %> : 표현식
<% %> : 스크립트릿

web.xml의 역할 : 톰캣의 환경설정, 오류가 났을 때 여기로 가라 or 파일 업로드 시 위치 설정 등

0개의 댓글