본문 바로가기

빅데이터 교육과정 (2021-01-25 ~ 2021-06-24)/WEB (02-22 ~)

24일차 3.5 금 JSP + 3.6 토 스터디

JSP(Java Server Page) -> Java 코드가 들어가 있는 HTML 코드

 

서블릿은 자바 소스코드 속에 HTML코드가 들어가는 형태인데,

JSP는 이와 반대로 HTML 소스코드 속에 자바 소스코드가 들어가는 구조를 갖는 웹어플리케이션 프로그래밍 기술

또한 자바를 기반으로 웹을 할 수 있게 해준 것 !

 

HTML속에서 자바코드는 <% 소스코드 %> 또는 <%= 소스코드 =%>형태로 들어간다.

자바 소스코드로 작성된 이 부분은 웹 브라우저로 보내는 것이아니라 웹 서버에서 실행되는 부분이다.

 

 웹 프로그래머가 소스코드를 수정 할 경우에도 디자인 부분을 제외하고 자바 소스코드만 수정하면 되기에 효율을 높임.

doGet 함수에 HTML을 작성할 수 있음.

 

PrintWriter 클래스에 response.getWriter() 메소드를 호출해 주면 out이라는 객체를 얻을 수 있습니다.

PrintWrite는 문자열을 출력해주는 메소드를 가지고 있습니다.

(참고로 PrintWriter객체를 생성하기 위해서는 위에 java.io.PrintWriter 클래스를 import해주어야 합니다 !)

이 out객체에서 print 메소드를 호출하고 파라미터 값으로 html태그들을 넣어줄 수 있습니다.

html문서와 똑같이 작성해주면 됩니다.

 

대표적인 웹 언어 3가지

ASP(MS), PHP(리눅스 협회), JSP(JAVA 기반 오라클사 협찬)

 

현재 많이 쓰이는 언어 순위

1. JSP

2. ASP

3. PHP

 

톰캣에서 ServletTest 서블릿 동작 확인

 

1. 톰캣 기본 폴더로 이동

 

2. Webapps 폴더 안에 ServletTest 폴더 생성

 

3. ServletTest폴더 안에 WEB-INF 폴더 생성

 

(중요) 4. WEB-INF 안에 3개의 폴더 생성

- src : 자바라 생각하면 됨. ~java란 파일이 들어가는 곳

서블릿 클래스로 컴파일 하기 위한 소스 파일들을 넣어 놓은 폴더

- classes : 각종 라이브러리 파일이 들어가는 곳

실제로 서비스 될 서블릿 클래스가 들어가는 곳

- lib : 서블릿 클래스들이 구동되는 데 필요한 추가 라이브러리 파일들을 넣는 곳

 

5. 서블릿 소스 구현 (메모장)

 

 

실제 프로젝트가 생성되는 곳

 

 

doGet 함수url에 다음페이지로 보낸 정보가 그대로 보이는 게 get 방식

 

response.setChracterEncoding("enc-kr"); 한글을 인식할 수 있게 인코딩 해준 것

 

서버를 실행시킬 때는 위치를 정확히 기억해야 함

 

데이터베이스를 연동할 때 데이터베이스의 환경설정을 하는 곳

 

내 컵퓨터 기준 톰캣이 실제로 있는 경로

C:\jspExam\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

웹은 경로가 굉장히 중요하다. 경로 틀리면 못 읽어옴 !

 

 

유지보수를 해결하기 위해 만든 게 JSP !

JSP에서는 바로바로 HTML을 쓸 수 있게 만들어 놓음.

 

JSP에서는 자바 코드를 쓸 수 있는데, 대신 %로 묶어서 써야 함.

JSP -> 웹으로 실행

 

** 두 개를 비교해보자 **

JSP로 URL 확인 -> URL 경로가 다 보임

http://localhost/Day1/ServletTest.jsp

 

Servlet URL 확인 -> 경로가 안 보임

http://localhost/Day1/test

 

(중요) Servlet은 매핑을 통해서 경로를 숨길 수 있음

 

두 개의 차이점

1. Servlet은 맵핑을 해야함

2. JSP는 URL이 다 노출됨 (경로가 다 보임)

그러나 Servlet은 경로가 안 보임

 

하단에서 Id가 아니라 name으로 추가해야한다. 기억하기 !

 

Integer.parseInt -> 인트값으로 바꿈

Req.getParameter <- Request 안에 있는 getParameter 함수를 뽑아옴

 

Web.xml 서블릿을 맵핑해야지 부를 수 있음.

  프로그래밍 환경설정을 해주는 것 -> web.xml 파일

 

 

3.6 토 스터디

컴파일 : 컴퓨터가 이해할 수 있는 언어로 바꾸는 것

 

Servlet에서 세 개는 이름 동일하게 써야함

 

 

·        ServletTest는 파일명

·        C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps

·        뒤에 testurl-pattern

 

 

 

doGet 함수 사용

doGet 오버라이드 된 것

 

PrintWriter out = response.getWriter(): -> 쓰기 위한 준비

 

import : 받아왔다는 것

 

웹에서 데이터는 scope로 감
scope는 4종류가 있다

 

 

 

상단 출처 : mangkyu.tistory.com/14