자바빈즈 (Java Beans)의 패키지 인식이 안될때, 자바 빈즈 빨간 줄 오류

2022. 2. 7. 20:46JSP

 

 

JSP  자바 빈즈



  • JSP 표준 액션 태크로 접근할 수 있는 자바 클래스
  • 값을 가지는 속성(멤버변수)와 값을 설정하는 메소드(setter), 값을 추출하는 메소드 (getter)로 구성
  • id 속성과 scope 속성을 바탕으로 자바 빈즈의 객체를 검색
  • 객체가 발견되지 않으면 빈 객체를 설정
<%@ page contentType =" text/html; charset=utf-8"%>

<html>
<head>
<title> Action Tag</title>
</head>
<body>
	
	<jsp:useBean id="date" class="java.util.Date"/>
	<p> <%
		out.print("오늘의 날짜 및 시각");
		%>
	<p><%=date%>
</body>
</html>

예시 코드를 보면 

 

1. id 속성이 date인 변수

2. 그 속성을 class인 java.util.Date가 제공 

3. 최종적으로 변수 date 출력

<jsp:useBean id="date" class="java.util.Date"/>

 

기본적으로 자바에서 제공해주는 util 이라면 java.util로 class를 지정하면 되지만

만약, 사용자가 만든 자바파일이면 클래스 경로와 이름과 같은 java 패키지에 java 파일을 생성해줘야 한다.

 

나와 달리 유식한 개발자 분들은 이를 두고

JSP 페이지에서 자바빈즈를 사용할 때 기본 패키지에 있으면 인식이 안 됩니다.
그래서 반드시 패키지화가 되어 있어야 합니다. 

라고 하신다....

 

예를 들면 

<jsp:useBean id="person" class="ch04.com.dao.Person" scope="request" />

이런 자바 빈즈는 기본 패키지나 다른데 있으면 안되고

이렇게 class 경로와 같은 이름의 패키지안에 있어야 한다. 안그럼 빨간줄 오류의 공포만 있을 뿐이다.