오늘은 JSP 개념과 환경구축 및 Servelt 기초를 하였습니다.
환경구축 하는 내용은 생략합니다.
[웹 애플리케이션의 동작 원리]
1. 클라이언트가 사이트 주소를 입력한다.
2. 브라우저에서 웹 페이지를 요청한다.(HTTP)
3. 웹서버에서 해당 웹페이지를 찾는다.(서버측)
4. 찾은 웹페이지를 보낸다.(서버측)
5. 클라이언트가 요청한 사이트 주소를 본다.
[URL과 웹페이지]
1. URL의 일반적인 구성
http://www.11st.co.kr/html/category/1.html?xzone=ctgr1^html
1) 프로토콜 : HTTP
2) 서버 이름 , 도메인 이름 또는 IP address : //www.11.st.co.kr/
3) 경로(웹 페이지의 상세주소) : html/category/1.html
☞ 기능에 대응하는 부분이다. (검색가능)
4) 쿼리 문자열(추가로 서버에 보내는 데이터) : xzone=ctgr1^html
☞ 검색조건 부분이다.
☞ &&로 연결가능하다.
☞ xzone 이름 / ctgr1 값
☞ html = where
5) DNS(Domain Name Server) : 도메인 서버에서 도메인 네임과 IP를 저장해 놓는다.
6) port 번호 : 80, 8080
☞ 80 포트는 생략이 가능하다.
7) 웹페이지 : url 요청에 대한 응답으로 브라우저에 보여짐
[HTML과 HTTP]
1. HTML(HyperText Markup Language)
1) 렌더링
2. HTTP (HyperText Transfer Protocol) - 통신시 사용한다.
1) 요청(Request) 규칙
(1) 웹 브라우저가 웹 서버에 HTML과 같은 것을 요청할 때 사용할 데이터 구성 규칙(Header + data)
☞ Header는 편지의 봉투(주소)라고 생각하면 되고, Datat는 편지의 내용(편지지)라고 생각하면 된다.
2) 응답(Request) 규칙
(1) 웹 서버가 웹 브라우저에 HTML과 같은 것을 전송할 때 사용할 데이터 구성 규칙(Header + data)
[정적 자원과 동적 자원]
1. 정적 페이지 또는 정적 자원 : HTML
2. 동적 페이지 또는 동적 자원 : JSP, PHP, ASP.net 등
1) 시간이나 특정 조건에 따라 응답 페이지가 달라지는 자원이다.
2) 자바언어로 구성되어 있다. (즉, 자바 언어를 사용(for, if 문 등등)하여 다른 내용들을 보여줄 수 있다.
[웹 프로그래밍과 JSP]
1. Java Server Page(JSP)
1) 동적 페이지를 작성하는데 사용되는 자바의 표준기술로 HTML 응답을 생성하는데 필요한 기능을 제공
2. 웹 서버(Web Server)
1) 사용자의 요청이 들어오면 이를 받아들여서 결과 페이지를 전송
2) URL(매핑) -> 처리 -> 결과
3. 웹 어플리케이션 서버(WAS) : Tomcat, Jetty, JBossEAP
1) 요청한 페이지의 로직이나 데이터베이스와의 연동을 처리할 수 있는 비즈니스 로직을 구현(특정기능처리)
[서블릿과 JSP]
1. 자바로 만든 Sun에서 정한 웹 개발 표준
1) 서블릿(Servlet) : 실행 코드 방식의 특징
2) JSP(JavaServer Pages) : 스크립트 코드 방식의 특징
2. JSP의 특징
1) 자바 기반 스크립트 언어 : 자바의 기능을 그대로 사용 가능
2) HTTP에 대한 클라이언트의 요청 처리/응답
3) 웹 애플리케이션에서 결과 화면을 생성할 때 주로 사용
4) 자바 언어에 기반하기 때문에 플랫폼에 독립적 : 리눅스, 윈도우 등 운영체제에 상관없이 동작
5) 자바 언어에 대한 깊은 이해 없이도 초기 학습 가능 : 스크립트 언어는 상대적으로 자바 언어보다 단순
6) 스프링(Spring)이나 스트러츠(Struts)와 같은 프레임워크와 완벽하게 연동
[웹 컨테이너 Web container)
1. 웹 애플리케이션을 실행할 수 있는 컨테이너
2. JSP와 서블릿을 실행해준다. (서버가 동작하기 위한 인프라)
3. 주요 웹 컨테이너 : 톰캣, 제티 등
[개발환경과 실행환경]
1. 개발환경
1) 개발자가 웹 프로그램을 개발하기 위한 환경 : 보통 윈도우 PC 기반
2) Eclipse와 같은 개발도구를 사용 : Eclipse를 사용한 Debugging이 가능
3) 실 사용자가 없으며, 실환경과 유사하게 개발환경을 꾸미느 ㄴ것이 좋으나 현실적으로 어려움
4) JDK, Eclipse, Tomcat, MySQL 등
2. 실행환경
1) 다수의 사용자가 사용중인 환경 : 보통 Linux Os 기반 컴퓨터(Windows Server도 가능)
2) Eclipse와 같은 개발도구를 사용할 수 없으므로 Debugging이 용이하지 않음
3) 부하가 걸려 있으며, 서비스의 중단이 있으면 안됨.(버전 업그레이드의 어려움)
4) JRE, Tomcat, MySQL 등
[웹 프로젝트 생성하기]
[서블릿]
1. Server + Applet의 합성어 : 서버 상에서 실행되는 Applet
2. 자바를 이용하여 웹상에서 실행되는 프로그램을 작성하는 기술
3. 자바 클래스 형태의 웹 애플리케이션
4. 브라우저를 통해 자바클래스가 실행되도록 하기 위해서는 javax.servelt.http 패키지에서 제공하는 HttpServlet 클래스를 상속받아 구현해야 함.
5. 서블릿 클래스 : HttpServlet 클래스를 상속받아 만든 서브 클래스
1) init() 메소드(o) : 초기화, Tomcat 최초 동작시 실행
2) doGet() 메소드 : get 방식 처리 (구현해야 하는 부분)
3) doPost() 메소드 : post 방식처리 (구현해야 하는 부분)
4) 매개변수 : HttpServletRequest request, HttpServletResponse response
☞ request = 브라우저 파라미터
5) destroy() 메소드(O)
※ 서블릿의 get 방식 요청을 받는 경우
1. form 태그의 get method
2. <a> 태그를 사용한 링크
3. 브라우저에서 url로 요청할 경우
'컴퓨터학원(복습)(수료)' 카테고리의 다른 글
자바(JAVA)기반 안드로이드 웹&앱 개발 54일차(서블릿 한글처리, 암호 입력상자, textarea와 radio button, smarteditor, checkbox와) (0) | 2021.05.17 |
---|---|
자바(JAVA)기반 안드로이드 웹&앱 개발 53일차(서블릿 구현, get, post, JSP 구현, 서블릿의 기초, 쿼리 스트링, 유효성검사) (0) | 2021.05.15 |
자바(JAVA)기반 안드로이드 웹&앱 개발 51일차(평가) (0) | 2021.05.12 |
자바(JAVA)기반 안드로이드 웹&앱 개발 50일차(자습, 내용없음) (0) | 2021.05.11 |
자바(JAVA)기반 안드로이드 웹&앱 개발 49일차(카메라, 음악파일재생) (0) | 2021.05.10 |