1. 웹 통신(20p.)
-웹의 요소: HTML/URL /Web Browser, Web Server/HTTP
2. 웹 클라이언트 서버구조
-client: 데이터/서비스 요청
-server: 데이터/서비스 제공
1:n의 구조
3. 웹 흐름
-Web Browser: 웹페이지 요청(www.naver.com)
-Web Server: html 문서로 응답 →웹 브라우저가 문서 해석 후 웹페이지로 변환
4. 웹페이지의 종류
-정적 페이지(Static Web): 저장된 데이터를 보여주는 페이지(사용자에 따라 바뀌지 않음)
예)위키백과, 나무위키 등
-동적 페이지(Dynamic Web): 사용자에 따라 화면을 다르게 보여주는 페이지
예)네이버, 유튜브 등(사용자에 따라 추천 페이지 달라짐)
5. WAS(Web Application Server): 웹 애플리케이션 서버
-동적 페이지 만들 때 사용자의 수만큼 html 문서를 생성해야 함
→서버에서 HTML 파일을 대신 만들어 주는것
-Server에서 정적 페이지 생성→ WAS에 동적 페이지 생성하도록 요청을 전달함
예시) 로그인
● jsp/servlet을 사용하는 이유
새로운 유저를 생성할 때마다 process를 생성해야 하기 때문에 많은 사람이 접속할 경우 server
허용량 초과->jsp/servlet에서는 유저가 접속해도 thread를 생성하기 때문에 과부하 걸리지 않음
6. servlet: server+applet
-java프로그램이 웹 서버에서 자동으로 설치되어 동작하는 프로그램)
-Server상에서 작동하는 Java 기반의 웹 어플리케이션 프로그래밍 기술
[환경구축]tomcat 9버전
-apache tomcat 아파치 톰캣 홈페이지에서 다운로드
-servers 탭에서 tomcat 9버전 불러오기
-new-Dynamic web project
-project-new-servlet -service()메소드
인코딩 방식 변경(39p.): 텍스트를 보여주는 방식
-EUC-KR: 한국어 팩 설치 필수 한글에 없는 글자 오류
-UTF-8: 자음 모음 조합
7. request 객체: client가 요청을 했을 때 요청에 관련된 정보를 담고 있는 객체
- 요청한 ip 주소확인: request.getRemoteHost()
ex)요청이 들어온 주소, 요청할 때 작성한 데이터(id,pw 등)
*포트번호 변경: servers 탭-tomcat 9.0더블클릭-HTTP 포트번호 8081로 변경
[실습1]내 servlet을 요청한 ip주소 확인하기
//1. request 객체 호출하기: 요청한 ip 주소 확인
String client_ip=request.getRemoteHost();
System.out.println(client_ip);
//2. 실행된 웹페이지 주소에서 localhost 부분을 내 ip 주소로 바꾸기
*내 ip 주소확인: cmd(명령프롬프트)->iconfig->IPV4 주소
8. response 객체: client데이터가 넘어오면 응답하는 객체
- 응답할 문서에 대한 설정: response.setContentType("text/html; charset="인코딩 방식");
- 웹에 출력하는 출력스트림: printWriter out=response.getWriter();
[실습2]Servlet을 이용해 Web에 text 출력하기
//1. request 객체 호출
String client_ip=request.getRemoteHost();
//2. response 객체 호출
response.setContentType("text/html; charset=UTF-8");
//3. printWriter 객체: 웹에 출력하기
PrintWriter out=response.getWriter();
//4. Servlet을 이용해 Web에 text 출력하기
out.print("안녕하세요");
out.print("<h1>자람의 페이지</h1>");
[실습3]Servlet을 이용해 Web에 이미지 출력하기(이미지 태그)
//1. request 객체 호출
String client_ip=request.getRemoteHost();
//2. response 객체 호출
response.setContentType("text/html; charset=UTF-8");
//3. printWriter 객체: 웹에 출력하기
PrintWriter out=response.getWriter();
//4. Servlet을 이용해 Web에 text 출력하기
out.print("안녕하세요");
out.print("<h1>자람의 페이지</h1>");
//5. 이미지 출력하기(img 태그)
out.print("<img src='./고양이.jpg'>");
[실습4] 우리 팀이면 환영하는 문구를 우리 팀이 아니면 거절하는 문구 출력
String client_ip=request.getRemoteHost(); //request 객체 호출
response.setContentType("text/html; charset=UTF-8"); //response 객체 호출
PrintWriter out=response.getWriter(); //web페이지 출력하는 출력스트림
if (client_ip.equals("ip1")//멤버1
||client_ip.equals("ip2")//멤버2
||client_ip.equals("ip3")//멤버3
||client_ip.equals("ip4")) {//멤버4
out.print("<h1>'우리팀'님 환영합니다.</h1>");
out.print("<img src='./welcome.jpg'>");
}else {
out.print("<h1>우리팀이 아닙니다.</h1>");
out.print("<img src='./out.png'>");
}r
'JSP&Servlet' 카테고리의 다른 글
[JSP]3. MVC 패턴으로 JDBC 만들기 (0) | 2023.06.22 |
---|---|
[JSP]2. 내장객체 (0) | 2023.06.21 |
[JSP]1. JSP의 구성요소 (0) | 2023.06.20 |
[Servlet]3. 데이터 전송방식(get/post) (0) | 2023.06.19 |
[Servlet]2. 데이터 전송(get방식) (0) | 2023.06.19 |