JSP, Servlet, JDBC 강의 3일차

Jiian·2022년 5월 6일

JSP,Servlet

목록 보기
4/11

해당 게시물은 Udemy의 "JSP, Servlets and JDBC for Beginners" 강의를 정리한 내용입니다. 영어를 한국어로 번역하는 과정에서 잘못된 부분이 있을 수 있습니다.

This post summarizes Udemy's "JSP, Servlets and JDBC for Beginners" lecture.

Java class 를 JSP 에서 호출하기

  1. 생성했던 Project에서 src 폴더에 package 생성하기
  2. package 명은 "com.luv2code.jsp"
  3. package 안에 class 생성하기
  4. class 명은 "FunUtils"
// FunUtils.java 파일

package com.luv2code.jsp;

public class FunUtils {

		public static String makeItLower(String data) {
			return data.toLowerCase();
		}
}

  1. webapp 폴더에서 jsp 파일 생성하기
  2. jsp 파일명은 "fun-test.jsp"
//fun-test.jsp
<%@ page import="com.luv2code.jsp.*" %> 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

/* (1) class가 FunUtils 이니깐 import="com.luv2code.jsp.FunUtils"할 수 있지만 
패키지 안에 있는 다른 요소들도 참조를 할 경우를 위해 * 로 표시함

(2) 패키지 안에 있지 않지만 추가적으로 import 하고 싶으면 ,(콤마) 찍고 java.util.ArrayList 처럼 
추가하고 싶은 거 추가하면 됨

(3) 한글 깨져서 페이지 나오길래 구글링해보니, 위에 page import 한 거 밑에 처럼 한 줄 추가해주면 됨

*/

<html>
<body>
재미 좀 보자~:  <%=FunUtils.makeItLower("FUNFUNFUN") %>

</body>

</html>

결과


JSP 내장 객체 (Built-In Server Object)

JSP 에서만 지원하는 내장 객체들이다.

객체설명
request클라이언트의 요청 정보를 저장
HTTP request header & form data 포함
response클라이언트에게 보낼 응답 정보를 가진 객체
전송을 위한 HTTP support 제공
outJSP에 출력을 담당하는 객체, 응답 페이지 전송을 위한 출력 stream
HTML 페이지에 있는 내용을 포함하기 위한 JspWriter
session정보를 세션 범위에서 유지하기 위해 지원되는 객체(로그인 정보 처리 시 사용할 예정)
웹 어플리케이션을 사용하는 각각의 사용자를 위한 unique 한 session (일종의 쇼핑카트 개념)
application 정보를 애플리케이션 범위에서 유지하기 위해 지원되는 객체, 동일한 Application의 context정보를 저장
웹 어플리케이션을 사용하는 모든 사용자들을 위한 공유되는 데이터

추가 참조 : https://bambino-developer.tistory.com/14

HTTP 요청 & 응답 과정

  1. HTTP Protocol이 request 객체 전송
  2. request 객체는 header와 body 정보가 있음
  3. JSP는 해당 정보들을 기반으로 동작
  4. JSP가 response 전송
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<body>
<h3> JSP Built-In Objects</h3>

/* 유저가 jsp 페이를 접속하는데 사용하는 클라이언트의 브라우저의 타입과 OS도 알려줌*/
Request user agent : <%=request.getHeader("User-Agent")%>

<br/><br/>

/* 클라이언트가 사용하는 언어 알려줌 */
Request languagee : <%=request.getLocale() %>

</body>
</html>

결과

  • Safari 브라우저에서 실행했을 경우

  • Chrome 브라우저에서 실행했을 경우


JSP에서 다른 file들 포함시키기

  • header 부분을 나타낼 html 파일
<!--my-header.html-->
<h1 align="center"> JSP Tutorial </h1>
  • footer 부분을 나타낼 jsp 파일
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- 페이지가 가장 마지막으로 수정된 시간 포함 -->
<p align="center"> Last updated : <%= new java.util.Date() %> </p>
  • 위에 있는 파일들을 불러올 메인 jsp 파일
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<body>

<jsp:include page="my-header.html"/>

오늘 3탈 했는데 내가 부족해서야  열공해야겠다.. <br/><br/>
오늘 3탈 했는데 내가 부족해서야  열공해야겠다.. <br/><br/>
오늘 3탈 했는데 내가 부족해서야  열공해야겠다.. <br/><br/>

<jsp:include page="my-footer.jsp"/>

</body>
</html>

결과

profile
Slow and Steady

0개의 댓글