-
HTTP,Tomcat이론,JSP:스크립트요소JAVA 2021. 7. 23. 16:23
앞으로 배울 가장 중요한 과목.
백 기술들.
JSP
spring
☆이론강의!!!!
eclipse에서 JSP(Java Server Pages: java)를 이용한 서버 사이드 스크립트 언어)파일을 만들고
Java의 HTTPServlet클래스를 상속받은 소스코드로 변환한 다음 컴파일 되어 실행된다.
그리고 이 JSP를 Servlet 파일로 변환하게하고 실행시켜주는 역할을 하는 프로그램을 서블릿 컨테이너라고 부르며
대표적으로 Tomcat이 있다.
Tomcat, JSP
1. 설치 & 확인
https://tomcat.apache.org/download-80.cgi
1) tomcat 8.ver: 64bit-window.zip
폴더 나중에 불러와야 하니 그냥 D드라이브 바로 밑에 알집으로 다운받을(jdk로 받은 이클립스와 달리 컴퓨터 상황에 독립적이라 알집이 좋다)
이클립스와 함께 넣을 폴더하나 생성(javaclass :폴더이름 자유..)
거기에 설치.
javaclass폴더 안에 workspace
2)Eclipse
https://www.eclipse.org/downloads/packages/release/2020-06/r/eclipse-ide-enterprise-java-developers
설치1. eclipse ee download 2020: 자바 개발프로그램
download link - x86-64bit
(x86 = 32 bit, x86-64bit = 32 bit - 64bit 호환가능이라는 의미)
https://java.com/ko/download/ie_manual.jsp?locale=ko
설치2. eclipse JRE(=JVM): 자바 실행프로그램(개발안할거면 이것만 있어도 된다.)
위 페이지에서 아랫단: 모든자바 다운로드 -> 64bit 로 다운로드
2. 실행 & 설정
1) 압축푼 eclipe.exe 실행 -> workspace: javaclass - ws1선택
2) eclipse와 tomcat 연동
eclipse -> window -> preferences -> server -> Runtime Environments
- Add - Tomcat 8.5 - next버튼
- Tomcat installation director: apache-tomcat-8.5.65폴더 선택 끝
3. 인코딩
eclipse -> window -> preferences -> General -> workspace
- textfile encoding
- other: UTF-8
eclipse -> window -> preferences -> web -> CSS Files, HTML Files, JSP Files
- Encoding: UFT-8
4. JSP의 구조
client(웹브라우저) --(요청)--> Server
client(웹브라 <--(응답:HTML)--
응답을 받은 브라우저는 HTML을 해석
즉 요청과 응답을 할 줄 아는 것이 웹 브라우저이다.
정적 static Server: 요청받은 후 내부적으로 아무 처리없이 그냥 HTML을 갖다 주기만 한다.
동적 dynamic Server: 요청받은 후 내부적으로 java코드를 실행하여(위의 HTTPServlet클래스) 변환한 후 HTML로 갖다 준다. (Tomcat사용)
브라우저는 받은 HTML을 해석만 하기 때문에 그전에 정적으로 해서 온건지, 동적으로 해서 온건지 구별하지 못한다.(딱히 구별할 필요도 없다)
서버와 브라우저가 독립적이다.
동적 웹서버 계열
1. ASP: MS(Microsoft 의 웹서버)
2. JSP: java(Java의 웹서버)
3. PHP: (제일 보수 적...)
서버안에 JSP하나가 있는 상황인 것이고
JSP안에 사용하는 java코드들은 complie을 한 후 실행되게 하여 HTML text로 변환한다.(톰캣이 하는 역할)
자바: class코드 , 저장은 src 폴더
JSP: web코드, 저장은 webcontent 폴더
5. 컴퓨터의 구조들
컴퓨터들끼리 연결된 연결망: Network
컴퓨터들끼리 연결됐으나 보이지 않은 연결망: Cloud
ip: 컴퓨터마다 하나씩 갖는 아이디
=>cmd(명령 프롬프트)로 ip를 확인하는 방법: ipconfig 입력 - IPv4 주소가 IP주소이다.
port: 실행중인 프로그램 번호(고정되지 않고 프로그램이 시작될 때마다 운영체제가 부여한다.)
내컴퓨터의 동적서버 파일 들어가기:
1. http:// = http 규격대로 전송하겠다(http 언어로 전송하겠다~ 이런 의미)(p:프로토콜, 약속된 규정).
2. localhost= ip번호(현재 내 컴퓨터 ip라 localhost라는 말로 알려줌, 상대방꺼는 ip번호를 알아내서 불러야 함.)
3. 8080 = port번호(기본번호 8080으로 줌, 운영체제로 아무거나 숫자 바꿔도 상관없음.)
4. webapp/test.jsp = webapp서버안에 test.jsp 파일을 줘
(현재 이클립스안에서 만들었지만, 톰캣이 실행시켜주는 역할을 했으므로 톰캣안에서 나온것처럼 보인다.)
상대방컴퓨터 동적서버 파일 들어가기:
http://192.168.0.77:8080/webapp/test.jsp
:선생님 test.jsp 파일
현재 ip를 이용해 상대방의 컴퓨터에 접속한후, 포트번호로 톰캣프로그램에 들어가서 webapp폴더의 test.jsp파일을 읽어온 것이다!!!
도메인을 등록한다는 말은 이 ip:port를 상대방이 알지 않아도 들어올 수 있도록 도메인서버에 등록하는것이다!
(도메인서버에 등록되면 앞으로 우리가 이 파일에 들어갈 때 이 도메인 서버로 들어가 ip:port를 얻어서 접속하게 되는것이다.(이게 알아서 되니까 주소란에는 ip:port가 딱히 나오지 않음)
6. Eclipse의 JSP 작동원리
jsp파일을 run 했을 때
1) tomcat작동
2) 브라우저 작동
3) tomcat작동하여 내용 작성
사실 주소란에 주소치는 것을 개발자들은 일일히 하기 번거로우니 eclipse자체내에서 바로 실행하여 브라우저로 보여주는 것이다.
eclipse의 web browser는 외부(chrome, internet explorer 등)으로 설정하여 run시킬 수도 있고
eclipse안에서 자체적인 web browser(internal web browser)로 설정하여 eclipse안에 브라우저를 띄우는 run시킬 수도 있음.
(얘는 그냥 이클립스 안에서 사용가능한 조잡한 브라우저)
7. JSP: HTML + Java
뒤의 확장자 이름 .jsp
(만약 .html확장자이면 Java코드는 아예 들어갈 수 없다는 것이다.)
서버에서 처리될 java코드를 삽입할 수 있고 최종적으로 HTML로 만들어진다.
8. JSP제어구조****
program: 할일이 정해진 것
programmer: 할일을 정해주는 사람
제어구조 - 차례로 or 선택(if) or 반복(for, while)
JSP
페이지 디렉티브 태그
jsp 페이지 시작시 위에 설정하는 태그 <%@ %>
속성 기본값 설명 info 없음 페이지를 설명해 주는 문자열을 지정한다 language "java" JSP 페이지에서 사용할 언어를 지정한다 contentType "text/html" JSP 페이지 출력 형식을 지정한다 import 없음 JSP 페이지에서 다른 패키지의 클래스를 임포트할 때 지정한다 session "true" JSP 페이지에서 HttpSession 객체의 사용 여부를 지정한 buffer "8kb" JSP 페이지 출력 시 사용할 버퍼 크기를 지정한다 autoFlush "true" JSP 페이지의 내용이 출력되기 전 버퍼가 다 채워질 경우 동작을 지정한다 errorPage "false" JSP 페이지 처리 도중 예외가 발생할 경우 예외 처리 담당 JSP 페이지를 지정한다 isErrorPage "false" 현재 JSP 페이지가 예외 처리 담당 JSP페이지인지를 지정한다 pageEncoding "ISO-8859-1" JSP 페이지에서 사용하는 문자열 인코딩을 지정한다 isELIgnored "true" JSP 2.0 버전에서 추가된 기능으로 디 TKDYD 유무를 지정한다 스크립트 요소
선언문(declaration tag) <% %> JSP 에서 변수나 메서드를 선언할 때 사용한다.
(이 서블릿의 변수,메서드로 선언된다)스크립트릿(scriptlet) <% %> JSP 에서 자바 코드를 작성할 때 사용한다. 표현식(expression tag) <%= %> JSP 에서 변수의 값을 출력할 때 사용한다. 1. 선언문(declaration tag)
<%! String name \="듀크"; public String getName(){return name;} %\>
2. 스크립트릿(scriptlet)
<% String age \= request.getParameter("age"); %\>
3. 표현식(expression tag)
= 서블릿으로 변환시 out.print(); 로 된다.
<body\> <h1\>안녕하세요 <%=name %\>님!!</h1\> </body\>
'JAVA' 카테고리의 다른 글
JDBC (0) 2021.07.24 JAVA와 DBMS연결하기-JDBC (0) 2021.07.24 IO,NIO(New I/O), Enum(열거타입) (0) 2021.07.23 Collection FrameWork,Stream (0) 2021.07.23 Thread, Generic, Lambda, Collection Framework (0) 2021.07.23