1. 程式人生 > >JavaBean簡單介紹

JavaBean簡單介紹

一.什麼是JavaBean?
JavaBean是使用Java語言開發的一個可重用的元件,在JSP開發中可以的大量減少程式碼重複。把html檔案和java檔案分離開,減少日後維護的困難。當在JSP要使用時,只要呼叫JavaBean元件來執行使用者所要的功能,不用再重複寫相同的程式,這樣以來也可以節省開發所需的時間。
二.JavaBean規範
1,有一個空引數的構造方法
2,提供get/set方法,如果只有get方法,說明這個屬性為只讀屬性.
3,即使沒有成員變數,但是有get/set方法,那麼也是一個屬性.
4,方法名稱滿足一定的規範(命名規範),那麼就是一個屬性.
三.JavaBean的使用
beanutils.setproperty (property是屬性的意思)
beanutils.getproperty
beanutils.populate (beanutils 是一個jar包)
四.例子

public class T {
    @Test
    public void t1() throws Exception{
        //獲得Student類的物件clazz
        Class<?> clazz = Class.forName("Student");
        //呼叫類物件clazz方法,創建出一個物件
        Object o = clazz.newInstance();

        BeanUtils.setProperty(o,"name","張三");//o代表給那個物件,property是屬性的意思

        String name = BeanUtils.getProperty(o, "name"
); String age = BeanUtils.getProperty(o, "age"); String school = BeanUtils.getProperty(o, "school"); System.out.println(name+"--"+age+"---"+school); } 我還建立了一個叫Student的類,裡面有三個屬性,get/set方法,一個空參的構造方法 public class Student { private String name ; private int age ; private
String gender; /** * JavaBean一定要有一定空參的構造方法 */ public Student() { } 最後輸出姓名+年齡+學校

另外的一個例子:
1,寫一個JSP頁面
2,寫一個表單,使用者輸入姓名,年齡,性別等資料
3,點選表單提交,將引數傳遞到LoginServlet
4,將獲得到的引數資訊,封裝給一個Student物件.請求轉發給success.jsp頁面
5,在success.jsp頁面中,獲得請求域中的Student物件,輸出該物件的資訊到瀏覽器

<form action="/Login"  method="post">
    <label for="name">姓名</label>
    <input type="text" id="name"  name="name">
    </br>
    <label for="age">年齡</label>
    <input type="text" id="age" name="age">
    </br>
    <label for="gender">性別</label>
    <input type="text" id="gender" name="gender">
    <input type="submit" value="提交">

</form>
上邊的是一個表單,可以輸入姓名,年齡,性別,
   Map<String, String[]> map = request.getParameterMap();
        //把傳遞過來的放進map中
        Student student=new Student();
        try {
            BeanUtils.populate(student,map);
            //放進student中
            request.setAttribute("student",student);
            request.getRequestDispatcher("/success.jsp").forward(request,response);//請求轉發跳轉到success.jsp
        } catch (IllegalAccessException e) {
            System.out.println("發生了錯誤");
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
上邊的是LoginServlet頁面
    <title>success</title>
</head>
<body>
    <%
      Object student = request.getAttribute("student");
    %>
<%=student%>

</body>
跳轉到success.jsp頁面,完成輸出。

輸入的是11,12,12
最後的輸出就是這樣子。這裡寫圖片描述