본문 바로가기

IT/Web

【web기본】2021 11 02 : JSP & Servlet - EL / JSTL / JSP 에서 에외처리 파일 생성 하는 방법

standard.jar / jstl.jar

WebContent => WEB-INF => lib 폴더에 저장

standard.jar
0.38MB
jstl.jar
0.02MB

JSTL 라이브러리 설치

 

https://jakarta.apache.org/

 

  • JSTL 설치

 

 

2021 11 02 : JSP & Servlet - EL

금일 수업 : EL / JSTL / JSP 에서 예외처리 파일 생성 하는 방법 / 자바 빈(bean) 다루기

standard.jar / jstl.jar

WebContent => WEB-INF => lib 폴더에 저장

 

EL(Expression Language) : 표현식 또는 액션 태그를 대신해서 값을 표현하는 언어

<%= %> => ${ }

 

=> a.jsp => a_jsp.java => a_jsp.class

 

a_jsp.java 내부 코드

~~~~ extends HttpServelt{

~~~ (){ 생성자

}

 

~~ init(){

}

~service(){

~~~~~~~~~

}

 

~destroy(){

 

}

 

doGet(){

 

}

 

doPost(){

 

}
}

 

자바
public class Test{ => Test t=new Test(); t.d=100;
int c=11000; => Test t2=new Test(); t2.d=1000;
public static int d=10; => Test.d=10000;
public Test(){ => System.out.print(t.d); System.out.print(t2.d); System.out.print(Test.d);
int a=0;
}
public void out(){
int c=100;
System.out.print(c);
}
public void out2(){
int c=10;
System.out.print(c);
}
}

 

 

2021 11 02 : JSP & Servlet - JSTL

 

JSTL 에 대하여

standard.jar / jstl.jar
WebContent => WEB-INF => lib 폴더에 저장


JSTL 사용목적

JSP 로 작업 할 경우 HTML 내부 코드에 대한 가독성이 떨어지고,
웹 디자이너, 웹 퍼블리셔가 작업 시, 실수를 방지하기 위함.


JSTL 은 톰캣이 기본적으로 지원하는 라이브러리가 아니기 때문에 별도의 설치가 필요..
설치 방법 : WebContent => WEB-INF => lib 폴더에 저장


JSTL 이 제공하는 다섯 가지의 라이브러리

1. Core : 출력, 제어문, 반복문
2. XML : xml 문서를 읽어들여 데이터를 추출 (톰캣이 web.xml 문서를 읽어서 실행../ Spring의 환경설정 파일 로드)
3. Format : 출력 형식 관련 (다국어)
4. SQL : 쿼리를 태그 형태로 사용 (Spring의 영속데이터베이스:mybatis)
5. Functions : JSTL이 제공하는 함수들 모음


JSTL 라이브러리 사용 방법

tablib 지시자를 이용하여 어떤 라이브러리를 사용할 건지를 먼저 선언!!!!!!
<%@ tablib uri="해당태그를 해석할 URL 주소" prefix="태그명에서 사용할 이름" %>
예) Core 라이브러리를 사용할 경우
<%@ tablib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:out ></c:out>
<%@ tablib uri="http://java.sun.com/jsp/jstl/core" prefix="core" %>
<core:out ></core:out>
1. Core : <%@ tablib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
출력 태그 : <c:out>
<c:out value="출력할 값" default="기본값" escapeXml="true / false">
escapeXml : 출력할 값 또는 기본값 내부에 HTML 태그가 포함되었을 경우,

 

HTML 태그를 문자열로 출력할 것인지, HTML 태그를 컴파일할 것인지를 결정
예) 출력할 값 : "테스트 결과는 <b>정상</b>입니다"
테스트 결과는 <b>정상</b>입니다
테스트 결과는 정상입니다


변수 설정 태그 : <c:set>
<c:set var="변수명" value="설정값" target="객체명" property="값" scope="변수선언위치">


변수 제거 태그 : <c:remove>
<c:remove var="제거변수명" scope="변수선언위치">


예외처리 태그 : <c:catch>
<c:catch var="변수명">


제어문(if) : <c:if>
<c:if test="조건" var="조건 처리 변수명" scope="범위">


제어문(switch) :<c:choose>
<c:choose>
<c:when test="조건">처리내용</c:when>
<c:otherwise>처리 내용</c:otherwise>
</c:choose>


반복문(for( 값저장변수 : 다중값 보유 객체) : <c:forEach>
<c:forEach items="객체명" begin="시작인덱스" end="끝인덱스" step="증감식" var="변수명" varStatus="상태값
변수">


페이지이동(response.sendRedirect()) : <c:redirect>
<c:redirect url="이동페이지" >


파라미터 전달 태그 : <c:param>
<c:param name="파라미터명" value="값">

 



<jsp:useBean id="member" class="com.freeflux.beans.MemberBean"></jsp:useBean>
MemberBean member = new MemberBean();


<jsp:setProperty property="*" name="member"></jsp:setProperty>
property="*" 와 같이 전달된 파라미터 값을 자동 매핑 시키려면..
1. 조건 : HTML이 전송하는 파라미터명과 MemberBean 내부의 멤버 변수 명이 반드시 일치...
=> 해당 객체의 setter 를 호출하여 값을 설정하는 태그


데이터베이스 연동 시, 유용...
1. 화면 : 값을 입력
2. MemberBean member = new MemberBean();\

 

member.set~~(~~)
member.set~~(~~)
member.set~~(~~)
member.set~~(~~)
3. 데이터베이스의 테이블에 insert


JSP 파일을 이용하여 에러 페이지를 생성하는 방법


자바 웹 프로젝트에서 에러 페이지를 작성하는 이유..
사용자가 값을 잘못 입력했을 경우, 연산 오류가 발생하여...
사용자 화면에 에러 코드관련 페이지로 변경 되기 때문에...
별도의 에러 페이지를 만들어서 사용자에게 어떤 형태의 값을 입력하라고 알려줄 수 있도록 생성...


1. 에러가 발생하는 페이지
<%@ page errorPage="에러가 발생했을 경우 이동할 페이지" %>


2. 에러를 보여주는 페이지
<%@ page isErrorPage="true" %>
<% response.setStatus(200); %>
<%= exception.getMessage() %>
=======================================================

 

반응형