JSP實例詳解JavaBean應用步驟
一、編寫使用JavaBean的JSP文件,如UFO中的演示JSP實例time.jsp:
在上面代碼中的第二行<%@pageimport="ufobean.ShowCalendar"%>這個語句,意思是引入ufobean包以及包中的文件;其次要注意<jsp:useBeanid="clock"class="ufobean.ShowCalendar"scope="page"/>語句,其中id的值是自定義的,class值是包名加點再加JavaBean名,scope有幾個值,默認值是page,另外還有session,application等等,這里用page。time.jsp多次用到<jsp:getProperty>,其作用是獲取JavaBean(ShowCalendar)的屬性值,顯示在頁面中。
- <%@pagecontentType="text/html;Charset=GB2312"%>
- <%@pageimport="ufobean.ShowCalendar"%>
- <HTML><BODY>
- <jsp:useBeanidjsp:useBeanid="clock"class="ufobean.ShowCalendar"scope="page"/>
- <TableborderTableborder=4>
- <tr>
- <tdaligntdalign="center"><fontcolorfontcolor="blue"><jsp:getPropertynamejsp:getPropertyname="clock"property="year"/></font>年</td>
- <td><jsp:getPropertynamejsp:getPropertyname="clock"property="month"/>月
- <jsp:getPropertynamejsp:getPropertyname="clock"property="dayOfMonth"/>日
- 星期<jsp:getPropertynamejsp:getPropertyname="clock"property="day"/>
- </td>
- </tr>
- <tr>
- <td>當前時間為</td>
- <td><jsp:getPropertynamejsp:getPropertyname="clock"property="time"/></td>
- </tr>
- <tr>
- <td>今天是今年的第</td>
- <td><jsp:getPropertynamejsp:getPropertyname="clock"property="dayOfYear"/>天</td>
- </tr>
- <tr>
- <td>本周是今年的第</td>
- <td><jsp:getPropertynamejsp:getPropertyname="clock"property="weekOfYear"/>周</td>
- </tr>
- <tr>
- <td>本周是本月的第</td>
- <td><jsp:getPropertynamejsp:getPropertyname="clock"property="weekOfMonth"/>周</td>
- </tr>
- </Table>
- <jsp:getPropertynamejsp:getPropertyname="clock"property="date"/>
- </BODY></HTML>
JavaBean(ShowCalendar.java)代碼如下:
- packageufobean;
- importjava.util.*;
- publicclassShowCalendar{
- Calendarcalendar=null;
- intyear,dayOfMonth,dayOfYear,weekOfYear,
- weekOfMonth,dayOfWeek,hour,minute,second;
- Stringday,date,time;
- publicShowCalendar(){
- calendar=Calendar.getInstance();
- Datetime=newDate();
- calendar.setTime(time);
- }
- publicintgetYear(){
- returncalendar.get(Calendar.YEAR);
- }
- publicStringgetMonth(){
- intm=1+calendar.get(Calendar.MONTH);
- Stringmonths[]={"1","2","3","4","5","6","7","8","9","10","11","12"};
- if(m>12)
- return"0";
- returnmonths[m-1];
- }
- publicStringgetDay(){
- intn=getDayOfWeek();
- Stringdays[]={"日","一","二","三","四","五","六"};
- if(n>7)
- return"星期?";
- returndays[n];
- }
- publicStringgetDate(){
- returngetYear()+"/"+getMonth()+"/"+getDayOfMonth();
- }
- publicStringgetTime(){
- returngetHour()+":"+getMinute()+":"+getSecond();
- }
- publicintgetDayOfMonth(){
- returncalendar.get(Calendar.DAY_OF_MONTH);
- }
- publicintgetDayOfYear(){
- returncalendar.get(Calendar.DAY_OF_YEAR);
- }
- publicintgetWeekOfYear(){
- returncalendar.get(Calendar.WEEK_OF_YEAR);
- }
- publicintgetWeekOfMonth(){
- returncalendar.get(Calendar.WEEK_OF_MONTH);
- }
- publicintgetDayOfWeek(){
- returncalendar.get(Calendar.DAY_OF_WEEK)-1;
- }
- publicintgetHour(){
- returncalendar.get(Calendar.HOUR_OF_DAY);
- }
- publicintgetMinute(){
- returncalendar.get(Calendar.MINUTE);
- }
- publicintgetSecond(){
- returncalendar.get(Calendar.SECOND);
- }
- }
二、編譯ShowCalendar.java文件
這里介紹在DOS下怎么編譯JavaBean:開始——運行——輸入cmd——通過cd..或者cd進入到JavaBean(ShowCalendar.java)所在目錄,然后輸入命令:javacShowCalendar.java后,就可以得到生成在ufobean包中的ShowCalendar.class字節文件了,到此編譯完畢。如果重新修改過JavaBean,那么要先把以前的舊的.class文件刪除掉,然后重新編譯JavaBean。
三、在UFO中訪問time.jsp文件調用JavaBean
1、在UFO原有的目錄下運行time.jsp
a)、將time.jsp放置于UFO\webapps\ROOT目錄下,將ShowCalendar.class放置于UFO\webapps\ROOT\WEB-INF\classes\ufobean目錄下,啟動UFO,輸入如下地址http://localhost:80/time.jsp,便可成功運行了。
b)、將time.jsp放置于UFO\webapps\examples目錄下,將ShowCalendar.class放置于UFO\webapps\examples\WEB-INF\classes\ufobean目錄下,啟動UFO,輸入如下地址http://localhost:80/examples/time.jsp,就OK了。
2、自己在webapps目錄下建立新目錄
建立目錄的時候要注意:文件夾名是WEB-INF,而不是WEN_INF,注意中間的橫杠要寫對;文件夾名是classes而不是class;classes下的包名也得注意,它是跟你JavaBean里所起的包名相同,比如,你在JavaBean文件中有以下語句:importufobean;就意味著你引入了名為ufobean的包,那么在classes文件夾下的包名(文件夾名)應該是ufobean了。剩余步驟對比1、b)中的方法做就OK了。
四、整個JSP實例使用JavaBean的過程就是這樣,大家都會了吧。
【編輯推薦】