6.1 Какво представляват JavaBeans

Още в края на 90-те години езикът Java започва да се използва активно за големи сървърни applications, където броят на класовете се измерва в десетки и стотици хиляди. Тогава се появи идеята за стандартизиране на външния вид на Java обектите.

Целият език на Java не беше пипан, за да не се лиши от гъвкавост. Е, обратна съвместимост и всичко това. След това те разработиха редица критерии за ново поколение Java обекти и нарекоха такива обекти Java Beans. Java е кръстена на популярна марка кафе, така че Java Beans буквално се превежда като „кафе на зърна“.

Най-важните критерии бяха:

  • Достъпът до вътрешните полета на класа минава през getProperty().
  • Записването на данни в полетата на класа преминава през setProperty(value).
  • Класът трябва да има публичен конструктор без параметри .
  • Класът трябва да може да се сериализира.
  • Класът трябва да има отменени методи equals()и .hashCode()toString()

Този подход направи applicationsта по-малко съгласувани. Винаги ясно:

  • How се създава обект - има публичен конструктор по подразбиране;
  • How да получите/зададете стойността на имота;
  • How да прехвърлите/запишете обект (използваме сериализация);
  • How да сравняваме обекти (с помощта на equals() и hashCode());
  • How да се покаже информация за обекта в дневника (използвайте toString).

Сега това всъщност е индустриалният стандарт, но някога беше нова тенденция. Изглежда, че всички вече пишат така, но ако си спомняте HttpClient и неговите Builders, можете да видите, че новият стандарт е труден за някого.

Такива обекти се използват широко, когато основното им семантично натоварване е съхранението на данни. Например в GUI, бази данни и JSP страници.

6.2 JSP и JavaBeans

Една от причините за JSP беше, че може да бъде възложен на външни разработчици. И Howво? Имате човек, който разбира от HTML, нека пише JSP. Java програмистите пишат своята част, front-end разработчиците пишат своята - всичко е наред.

И всичко беше наред, докато предните разработчици не трябваше да разберат писмения Java code, вграден в JSP. Или, още по-лошо, напишете сами такъв code.

Java програмистите също не бяха доволни от това. Е, моля, кажете кои дизайнери на оформление са бекенд разработчици? Да, те не могат да пишат нищо освен скриптове. Да, и цялата програмна парадигма казва, че смесването на различни езици в един файл е лоша форма.

Тогава се появи идеята, която те казват, да се даде възможност на предните разработчици да работят с Java обекти, Howто с HTML code. Всеки HTML таг също е обект със собствени полета, защо да не работите с Java обекти по подобен начин?

Казано, сторено. Добавихме специални тагове и тръгваме.

Създаване на обект:

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

Тази команда създаде обект с типа objectи го постави sessionпод името Name.

Обектите могат да се съхраняват в едно от четирите хранorща: приложение (глобално), сесия, заявка и page. Също така беше възможно да се зададе свойство на такива обекти:

<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>