6.1 자바빈이란?

이미 90년대 후반에 Java 언어는 클래스 수가 수만에서 수십만으로 측정되는 대규모 서버 응용 프로그램에 적극적으로 사용되기 시작했습니다. 그때 Java 개체의 모양을 표준화하려는 아이디어가 떠올랐습니다.

유연성을 박탈하지 않기 위해 전체 Java 언어를 건드리지 않았습니다. 글쎄, 이전 버전과의 호환성과 그 모든 것. 그런 다음 그들은 차세대 Java 객체에 대한 여러 기준을 개발하고 이러한 객체를 Java Beans라고 불렀습니다. Java는 유명한 커피 브랜드의 이름을 따서 명명되었으므로 Java Beans는 문자 그대로 "커피 콩"으로 번역됩니다.

가장 중요한 기준은 다음과 같습니다.

  • 클래스의 내부 필드에 대한 액세스는 getProperty().
  • 클래스 필드에 데이터를 쓰는 것은 setProperty(value).
  • 클래스에는 매개 변수가 없는 public 생성자가 있어야 합니다 .
  • 클래스는 직렬화 가능해야 합니다.
  • 클래스에는 equals(), hashCode()및 메서드가 재정의되어야 합니다 toString().

이 접근 방식은 응용 프로그램의 일관성을 떨어뜨렸습니다. 항상 지우기:

  • 객체를 생성하는 방법 - 공용 기본 생성자가 있습니다.
  • 속성 값을 가져오거나 설정하는 방법
  • 개체를 전송/저장하는 방법(직렬화 사용)
  • 객체를 비교하는 방법(equals() 및 hashCode() 사용)
  • 로그에 개체에 대한 정보를 표시하는 방법(toString 사용).

지금은 실제로 업계 표준이 되었지만 한때는 새로운 트렌드였습니다. HttpClient와 그 Builders를 기억한다면 누군가에게는 새로운 표준이 어렵다는 것을 알 수 있지만 이미 모든 사람들이 이렇게 작성하고 있는 것 같습니다.

이러한 개체는 주요 시맨틱 로드가 데이터 저장소인 경우 널리 사용됩니다. 예를 들어 GUI, 데이터베이스 및 JSP 페이지에서.

6.2 JSP와 JavaBeans

JSP를 도입한 이유 중 하나는 프론트엔드 개발자에게 아웃소싱할 수 있다는 점이었습니다. 그리고 뭐? HTML을 이해하는 사람이 있으면 JSP를 작성하게 하십시오. Java 프로그래머는 자신의 역할을 작성하고 프런트 엔드 개발자는 자신의 역할을 작성합니다. 모든 것이 좋습니다.

프런트 엔드 개발자가 JSP에 내장된 작성된 Java 코드를 이해해야 할 때까지는 모든 것이 괜찮았습니다. 또는 더 나쁜 것은 이러한 코드를 직접 작성하는 것입니다.

Java 프로그래머도 이에 만족하지 않았습니다. 음, 어떤 레이아웃 디자이너가 백엔드 개발자인지 말해주세요. 예, 그들은 스크립트 외에는 아무것도 쓸 수 없습니다. 예, 전체 프로그래밍 패러다임에 따르면 하나의 파일에 다른 언어를 혼합하는 것은 나쁜 형식입니다.

그런 다음 프런트 엔드 개발자에게 HTML 코드와 마찬가지로 Java 객체로 작업할 수 있는 기회를 제공한다는 아이디어가 떠 올랐습니다. 각 HTML 태그는 자체 필드가 ​​있는 객체이기도 합니다. 왜 유사한 방식으로 Java 객체를 사용하지 않습니까?

말한 것보다 빨리. 특수 태그를 추가하고 이동합니다.

객체 생성:

<jsp:useBean id="Name" class="Object type" scope="session"/>

이 명령은 유형이 있는 개체를 만들고 이름 아래 object에 넣습니다 .sessionName

개체는 응용 프로그램(전역), 세션, 요청 및 페이지의 네 가지 저장소 중 하나에 저장될 수 있습니다. 이러한 개체의 속성을 설정하는 것도 가능했습니다.

<jsp:setProperty name="Name" property="propName" value="string constant"/>

다음과 같은 객체의 속성을 얻을 수 있습니다.

<jsp:getProperty name="Name" property="propName"/>

태그 사용 예:

<body>
    <center>
        <h2>Using JavaBeans in JSP</h2>
        <jsp:useBean id = "test" class = "com.example.TestBean" />
        <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." />
        <p> What-to do important</p>
        <jsp:getProperty name = "test" property = "message" />
    </center>
   </body>