JSP 액션 태그: JavaBeans와 useBean 사용법

JSP 액션 태그: JavaBeans와 useBean 사용법

이 글에서는 JSP 액션 태그 중 JavaBeans와 useBean의 사용법에 대해 알아보겠습니다. JavaBeans는 재사용 가능한 소프트웨어 컴포넌트로, JSP에서 쉽게 데이터를 주고받기 위해 사용됩니다. 이를 통해 웹 애플리케이션의 데이터 처리를 간단하게 할 수 있습니다.

1. JavaBeans 클래스 작성

먼저, JavaBeans 클래스를 작성합니다. 예제로, 간단한 사용자 정보를 담는 UserBean 클래스를 만들어보겠습니다.

// UserBean.java
package com.example;

public class UserBean {
    private String name;
    private int age;

    public UserBean() {}

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

2. JSP 페이지에서 JavaBeans 사용하기

작성한 JavaBeans를 JSP 페이지에서 사용하는 방법을 알아보겠습니다. 다음은 UserBean을 사용하는 JSP 예제입니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>JavaBeans 예제</title>
</head>
<body>
    <jsp:useBean id="user" class="com.example.UserBean" scope="session" />
    <jsp:setProperty name="user" property="name" value="BlueShare" />
    <jsp:setProperty name="user" property="age" value="20" />

    <h2>사용자 정보</h2>
    <p>이름: <jsp:getProperty name="user" property="name" /></p>
    <p>나이: <jsp:getProperty name="user" property="age" /></p>
    
    <!-- 사용 방법 2 -->
    <% 
        com.example.UserBean userBean = (com.example.UserBean) session.getAttribute("user");
        userBean.setName("홍길동"); 
        userBean.setAge(25);
    %>
    <h2>변경된 사용자 정보</h2>
    <p>이름: <%= userBean.getName() %></p>
    <p>나이: <%= userBean.getAge() %></p>
</body>
</html>
UserBean을 사용하는 JSP 예제 결과 화면

3. JavaBeans 사용의 장점

JavaBeans를 사용하면 다음과 같은 장점이 있습니다.

  • 재사용성: 한 번 작성한 Bean을 여러 JSP 페이지에서 사용할 수 있습니다.
  • 유지보수 용이: 데이터 처리를 담당하는 코드를 JavaBeans로 분리하여 JSP 페이지의 유지보수가 용이해집니다.
  • 캡슐화: 데이터와 로직을 객체로 캡슐화하여 코드의 가독성과 안전성을 높일 수 있습니다.

4. 요약

이 글에서는 JavaBeans와 useBean 액션 태그를 사용하여 JSP에서 데이터를 주고받는 방법을 알아보았습니다. JavaBeans를 사용하면 재사용성과 유지보수성이 향상되며, JSP 페이지에서 데이터를 효율적으로 관리할 수 있습니다.

관련 이전 게시글

위로 스크롤