JavaBean簡單介紹
阿新 • • 發佈:2018-12-23
一.什麼是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
最後的輸出就是這樣子。