(TIL) 4/4

IT_JANG·2025년 4월 4일

HTML

클라이언트가 서버로 요청을 하는 방법

1) form 제출 (GET/POST)
2) a 태그 (GET)
3) JS - location.href = "주소"; (GET)
4) JS - Ajax 비동기 요청 (GET/POST/PUT/DELETE)

Survlet

JSP 표현식

특징

  • 값이 없으면 null 출력

작성법

  • <%= request.getParameter("key값") %>
<%= request.getParameter("name") %>

EL (Expression Language) : 표현 언어

정의

  • JSP에서 표현식을 간단하고 효율적으로 작성할 수 있도록 고안된 언어
  • JSP 내부에 기본 내장 되어 있음

특징

  • null, NullpointerException을 빈칸으로 처리
  • get 이라는 단어 사용하지 않음
  • 자동으로 자료형변환 진행해줌(HTML에서 얻어온 데이터는 모두 String)
  • 문자열 비교 == 사용 가능

작성법

  • ${param.key값} : 파라미터 값 얻어오기(값 여러개면 첫번째 값 출력)
  • ${paramValues.key값} : 파라미터 모두 배열로 얻어오기
${param.name}
${paramValues.name}
${paramValues.name[0]} ${paramValues.name[1]}
${param.doubleNum == 3.14}

JSTL(Jsp Standard Tag Library)

정의

  • JSP에서 자주 사용하는 Java 코드를(if, for, 변수 선언..) 스크립틀릿이 아닌 HTML 태그 모양으로 작성할 수 있도록 태그를 제공하는 라이브러리

라이브러리 추가 방법
1. 필요한 라이브러리(.jar) 파일 다운
2. 프로젝트 webapp/WEB-INF/lib 폴더에 복붙
3. JSTL을 사용할 JSP 파일 제일 위에 taglib 추가 구문 작성

<%-- prefix : 접두사 (앞에 붙는 단어) --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:if test="${param.age >= 20}">
		<h3>성인입니다(JSTL 사용)</h3>
</c:if>

종류

  • c : 자주 사용하는 Java 코드
  • fn : 컬렉션/문자열 관련 기능

scope

정의

  • 데이터(객체)의 생명 주기와 접근 가능한 범위

종류
1. page scope

  • JSP에서만 확인가능 (딱 1페이지)
<%
	// page scope 객체에 값 세팅
	pageContext.setAttribute("키", 값);
%>
<%= pageContext.getAttribute("키") %>
  1. request scope
  • 요청 받은 Servlet 과 요청이 위임된 JSP에서 유지되는 객체
req.setAttribute("키", 값);
req.getAttribute("키");
  1. session scope
  • 사용자(브라우저) 1명
  • 브라우저 닫거나 세션 만료될 때까지 유지
// 1) sseion scope 객체 얻어오기
HttpSession session = req.getSession();

session.setAttribute("키", 값);
session.getAttribute("키");
  1. application scope
  • 전체 웹 애플리케이션(모든 사용자)
  • 서버가 꺼질 때까지 유지
ServletContext application = req.getServletContext();
application.setAttribute("키", 값);
application.getAttribute("키");

0개의 댓글