一、编写使用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>
- 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的过程就是这样,大家都会了吧。