# 프로그램 다운로드 시
- Binary : 실행파일
- Source : Code
Web의 구성
- Server는 Client에게 request를 받아 response를 보냄
- Client의 request를 받아야만 response를 보낼 수 있음(Server가 먼저 보낼 수 없음)
- Script 언어인 JSP를 사용하여 간단하게 Web을 처리 할 수 있음
- JSP를 JAVA 코드로 자동변환해 주는 것이 WAS인 TOMCAT
WAS(Web Application Server)
- 다양한 로직 처리 요구시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
WAS 구동
- Dynamic Web Project/WebContent/WEB-INF/lib/web.xml 안에 있는 welcome-file-list 중에서 해당파일을 찾아 서버 실행
- 404error : 원하는 페이지를 찾지 못했다는 에러
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
주소창
http://localhost/8080/01_Start/
- localhost : IP Address(건물이름)
- 8080 : Port(00호)
- 01_Start : Service Name
- 원래
# 주소창의 IP를 제외한 port와 Service Name은 물리적 변화 없이 변경 가능
- Server 폴더의 server.xml에서는 port번호 및 기타설정을 변경할 수 있음
- Executor 옵션을 통해 톰캣의 요청처리를 Thread pool로 사용할 수 있음
- Context는 root폴더를(docBase) 어느 url(path)로 매칭할 것인지 설정할 수 있음
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
- 순수 JSP만으로 이루어지는 개발방식은 현재 거의 존재하지 않음
- 하지만 JSP의 사용법을 이해하면 PHP, ASP 등의 다른 스크립트 언어를 배우는데 도움이 됨
스크립트 언어란?
- 컴파일 없이 인터프리터로 즉시 실행 될 수 있는 언어
- 컴파일하지 않음 / 목적파일이 없음(JAVA의 경우 class파일)
- Java script, JSP, ASP, PHP, shell script, VB script
- html은 서버역할을 수행 할 수 없어서 JSP를 사용
- JSP에서는 Scriptlet을 사용하여 JAVA CODE를 사용
Scriptlet 이란?
Java Server Page(JSP) 페이지에서(쉽게 말하면 HTML 페이지) Java코드를 작성하고 실행할 수 있도록 돕는 코드블록
Scriptlet 사용방법
- <% %> : JAVA LOGIC을 표현 할 수 있는 영역
- <%@ %> : Page 속성을 정의하는 영역
- <%! %> : 변수나 메서드 선언을 하는 영역
- <%= %> : 변수나 메서드 반환 결과를 출력하는 영역
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file = "header.jsp" %>
<ul>
<% //java 로직 영역을 지정해준다.
for(int i=0; i<10; i++){
%>
<!-- java의 값을 html에 출력하고 싶은 경우 -->
<li><%=i%></li>
<%
}
%>
</ul>
<%@ include file = "footer.jsp" %>
</body>
</html>
Scriptlet 영역 구분
- if문은 html에서 사용할 수 없으므로 영역으로 처리
- for문 역시 html에서 사용할 수 없으므로 영역으로 처리 / i 값은 java code로 부터 나온 값이므로 출력문으로 표시
- scriptlet으로 출력되는 정보를 java script에서도 활용 가능
<%@page import="java.util.Calendar"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!
//변수나 메서드 선언문
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int min = c.get(Calendar.MINUTE);
int sec = c.get(Calendar.SECOND);
%>
<div class="header">
현재 시간은 <%=hour%>시 <%=min%>분 <%=sec%>초
<%
if(hour>=12){
%>
오후입니다.
<% }else{ %>
오전입니다.
<%
}
%>
</div>
JSP 주석 사용법
JAVA와 같으며, JSP구문 전체 주석 부분이 다름
//한줄 주석
/*
여러줄 주석
*/
<%--
영역 자체를 주석
--%>
TOMCAT에서 JSP를 JAVA로 바꿔주는 방법
- JSP 저장폴더의 .meta\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\[project]\org\apache\jsp
- [jsp파일명]_jsp.java 파일
내장 객체
- Server와 Client 간에는 요청(request)과 응답(response)을 주고 받음
- 그렇기 때문에 request 객체와 response 객체는 웹서비스의 핵심 객체
- JSP는 두 객체처럼 자주 사용하는 객체는 따로 선언하지 않도록 내장객체로 만들어둠
- 그 외 내장객체 : Cookie, Cookie, Page Context, Out
Request 객체
- Client로부터 온 요청에 관한 모든 정보를 담고 있음(매우 다양)
# 자바스크립트 변수에 값 할당 시 double quote(“”)로 감싸는 이유
- 문자열은 "" 안에 넣어주지 않으면 변수로 인식하여 에러가 발생하기 때문에 할당값이 문자열로 작성될 경우 "" 안에 넣음
'코딩도전기 > JSP' 카테고리의 다른 글
JSP Templates 설정 (0) | 2023.03.02 |
---|---|
CODO Day17_JSP(JSTL태그&함수) (0) | 2023.02.23 |
CODO Day16_JSP(Scope/AtionTag/JavaBean/ElTag/JSTL) (0) | 2023.02.22 |
CODO Day15_JSP(Out/Response/Cookie/Session) (0) | 2023.02.21 |
JSP_TEST (1) | 2023.02.20 |