<동적 콘텐츠>
request: 클라이언트가 서버에게 정보를 요청(Get, Post 두 가지방식).
response: 웹 서버가 클라이언트의 요청을 해석해서 응답. HTTP(정적 페이지)에서 요구된 메시지에 대한 응답이다.
*클라이언트 스크립트: 브라우저가 해석하는 언어(HTML, CSS, JS)
*서버 스크립트: 서버가 해석하는 스크립트(PHP, JSP, Servlet, ASP...)
*서버와 클라이언트가 통신할 때 사용하는 프로토콜: HTTP(기본적으로 포트번호 80)
동적 콘텐츠: 아주 짧은 시간 간격으로(시시각각) 바뀌는 정보들
동적 페이지: 동적 데이터를 포함하는 페이지를 말하며, 게시판과 같이 사용자의 다양한 요구에 부합해 자동으로 html 태그들을 생성하고 이미지를 배치한다.
<->정적 페이지: 항상 같은 것을 보여주는 페이지
CGI: 초창기 웹사이트를 만들 때 사용하던 기술로 지금은 사용하지 않는다. 한 사람이 연결될 때마다 프로세스를 만들어내기 때문에 자원을 많이 사용하게 된다.
-> 이후로 ASP(비주얼 베이직 일부 사용), PHP(C언어와 비슷한 문법, 소스 공개), Servlet, JSP 등 확장된 CGI를 사용하게 되었다(멀티 스레드).
<Servlet과 JSP>
: 자바를 기반으로 하며, 동적 콘텐츠를 생성하는 기술을 제공한다는 점에서 실제적인 기능은 거의 같다. 플랫폼에 대해 독립적이며, 컴파일된 파일을 재컴파일 없이 즉시적으로 이식 가능하다. 즉, 가상머신만 있다면 한 번 만든 파일을 계속 사용할 수 있다.
*실행 과정
Servlet ---> class로 컴파일 ---> 실행
JSP ---> Servlet화(work 디렉토리) ---> class파일 ---> 실행
: JSP를 실행하면 자바 파일이 생성되고, 자동으로 servlet화된다.
Servlet(server+applet): 확장자가 java. 디자인의 표현은 거의 불가능하다.
JSP: java 기반이나, 확장자가 jsp. Servlet보다 디자인 표현에 훨씬 적합하다. html태그 중간에 동적 콘텐츠 생성을 담당할 Java코드가 들어가 있는 형태라는 점이 서블릿과의 차이점이다.
<동적 페이지 만들어보기>
1. 첫 두 줄은 서버가 해석하는 부분으로, 웬만하면 건드리지 않는다. "page"는 지시어이며, 그 뒤는 속성들을 의미한다.
import를 통해 자바의 클래스를 참조한다.
1
2
3
4
5
6
7
8
9
10
11
|
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>example</title>
</head>
<body>
일반적인 HTML 페이지의 형태
오늘 날짜는 2020-00-00입니다.
</body>
</html>
|
2. 2020-00-00 부분이 바로 동적 콘텐츠, 즉 변화하는 데이터다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<% //jsp 코딩영역
Date date = new Date(); // 날짜 생성 클래스 생성
SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd");
// 모양(format) 설정 클래스 생성
String strdate = simpleDate.format(date);
// 메소드 호출
//동적 데이터가 생성되었다!
%>
오늘 날짜는 <%= strdate %> 입니다.
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
3. 자바의 클래스를 참조해 동적 데이터를 생성했다.
4. 결과
<Servlet 만들어보기>
1. Servlet을 생성한다.
2. Servlet은 HttpServlet클래스를 상속받는다.
3. URL mappings: Servlet을 웹상에서 호출할 때 쓰는 식별자
4. 상속받을 클래스에서 어떤 메소드를 사용할 것인 지를 선택한다.
5. Servlet이 생성되고, 코딩을 했다. Servlet의 코딩은 jsp와 비교해 디자인적인 부분을 구현하기 매우 어렵다.
6. MyServlet1을 사용해 해당 servlet을 호출하면 된다.
7. 호출한 결과
8. Servelet에 한글을 입력한다면?
9. 인식하지 못한다.
10. 이 경우 context type에 charset을 추가해준다.
11. 출력
'20.03 ~ 20.08 국비교육 > JSP' 카테고리의 다른 글
지시자(Directive) (0) | 2020.04.22 |
---|---|
폼 전송 (0) | 2020.04.22 |
JSP의 기초 문법 (0) | 2020.04.21 |
Eclipse JEE 설치 및 실행 (0) | 2020.04.20 |
Tomcat 설치 (0) | 2020.04.20 |