hahahia

Java Beans를 이용한 입출력 본문

Web Programming/JSP

Java Beans를 이용한 입출력

hahahia 2012. 5. 24. 19:59

Java Beans


JSP 에서는 Java로 작성한 자바 클래스 중에 Java Beans 이라는 규약에 맞게 작성된 래스를 JSP에서 사용할 수 있습니다.

이를 통해서 디자인쪽 부분과 기능 부분을 분리시킬 수가 있겠죠. 이렇게 각각 분리해서 개발 함으로써 명확한 작업의 분리가 가능하고, 반복적인 코드를 다시 사용할 수 있음으로써 효율적인 작성 및 수정이 가능하기 때문에 Beans를 이용해서 jsp 프로그래밍을 합니다.




Beans의 구성과 동작의 예


여기서 쓰이는 클래스는 결코 어려운것이 아닙니다.

객체지향프로그래밍(OOP)에서 자주 볼 수 있는 get함수와 set함수를 사용하여 데이터들을 입력하고 출력하기 쉽게 표현할 수 있도록 하는것이죠.


예제

/* main.jsp */


<!-- 간단한 게시판 main -->

<%@ page contentType="text/html;charset=utf-8" %>

<style type="text/css">

tr.a { color:white; font-family:"monospace" }

</style>

<html> 

<body>


<div id="container" style="width:1000px;float:left;">


<div id="header" style="background-color:#000000; height:25px;">

<table> 

<tr class="a" > 

</td> <td width="500"> &nbsp;&nbsp;&nbsp;홈으로 </td> <td width="150"> 로그인 </td> <td width="150"> 회원가입 </td> 

<td width="150"> 마이페이지 </td> <td width="150"> 즐겨찾기 추가 </td>

</tr> 

</table>

</div>

<div id="menu" style="background-color:#C0C0C0;height:415px;width:280px;float:left;">

<table border="1" width="280">

<tr><td height="80"> 1번째 들어갈 글 </td></tr>

<tr><td height="80"> 2번째 들어갈 글 </td></tr>

<tr><td height="80"> 3번째 들어갈 글 </td></tr>

<tr><td height="80"> 4번째 들어갈 글 </td></tr>

<tr><td height="80"> 5번째 들어갈 글 </td></tr>

</table>

</div>


<div id="content" style="background-color:#EEEEEE;height:415px;width:720px;float:left;">

    <FORM method="get" action="Inputview01.jsp"> 

<TABLE border="2" align="left">

<TR>

<TD width="200"><center> 제목 </center></TD>

<TD> <input type="text", name="title", size="80"></TD>

</TR>

<TR>

<TD width="200"><center> 내용 </center></TD>

<TD> <TEXTAREA name="text" rows="20", cols="85"></TEXTAREA>  </TD>

</TR>

<TR>

<TD width="200"><center> 파일첨부 <center> </TD>

<TD><INPUT type=file></TD>

</TR>

<TR>

<TD colspan="2" align="right"> <input type="submit" value="등록"> <input type="reset" value="초기화">  </TD>

</TR> </table>

</div>


<div id="footer" style="background-color:#7B68EE;clear:both;">

</div>

</div>

</body>

</html>


/* Input.java */

package my; // my라는 이름의 package를 생성합니다. 이 input java파일을 컴파일하게되면 classes 폴더에 Input.class 파일이 저장이 되죠.


public class Input(){

private String title;

private String text;

public Input(){

}

public void setTitle(String title){

this.title = title;

}

public void setText(String text){

this.text = text;

}

public String getTitle(){

return title;

}

public String getText(){

return text;

}

}


/* Inputview01.jsp */


<%@ page contentType="text/html;charset=utf-8" %>


<% request.setCharacterEncoding("utf-8");

%>

<jsp:useBean id="input" class="my.Input" scope="page"/> <!-- id를 input으로 설정 my패키지의 Input class를 받아온다 -->

<jsp:setProperty name="input" property="*" /> <!-- property="*" 으로 설정하여 속성에따라 자동으로 출력하게끔 설정한다 -->

<table border="1" >

<tr>

<td>글의 제목</td>

<td><jsp:getProperty name="input" property="title" /></td> <!-- get함수 호출을 이용해 title문 출력 -->

</tr>

<td>글의 내용</td>

<td><jsp:getProperty name="input" property="text" /></td> <!-- get함수를 호출하여 text문 출력 -->

</table>



main.jsp에서 입력을 받는 화면




Inputview01.jsp에서 글의 제목과 내용을 출력해주는 화면



Comments