社区服务 统计排行 帮助

广播台

      • 1958阅读
      • 2回复
      hb07140030 离线

      级别: 新手上路

      显示用户信息 

      倒序阅读, 只看楼主, 楼主   发表于: 2009-06-24
      更多操作

      JSP中JavaBean应用步骤详解

      本帖被 admin 设置为精华(2009-06-24)
      JSPJavaBean应用步骤详解
          编写JSP动态网页设计时,怎么应用JavaBean呢?下面是对JavaBean的使用讲解,并根据UFO的一个JavaBean演示实例做详解,有兴趣的朋友可以去www.gm365.com下载最新版本的UFO,里面附带了近50个JSP、JavaBean、servlet的典型实例(针对中文用户)。
      一、编写使用JavaBean的JSP文件,如UFO中的演示实例time.jsp:
      <%@ page contentType="text/html;Charset=GB2312" %>
      <%@ page import="ufobean.ShowCalendar" %>
      <HTML><BODY>
      <jsp:useBean id="clock" class="ufobean.ShowCalendar" scope="page" />
      <Table border=4>
      <tr>
        <td align="center"><font color="blue"><jsp:getProperty name="clock" property="year"/></font>年</td>
        <td><jsp:getProperty name="clock" property="month"/>月
            <jsp:getProperty name="clock" property="dayOfMonth"/>日
             星期<jsp:getProperty name="clock" property="day"/>
        </td>
      </tr>
      <tr>
        <td>当前时间为</td>
        <td><jsp:getProperty name="clock" property="time"/></td>
      </tr>
      <tr>
        <td>今天是今年的第</td>
        <td><jsp:getProperty name="clock" property="dayOfYear"/>天</td>
      </tr>
      <tr>
        <td>本周是今年的第</td>
        <td><jsp:getProperty name="clock" property="weekOfYear"/>周</td>
      </tr>
      <tr>
        <td>本周是本月的第</td>
        <td><jsp:getProperty name="clock" property="weekOfMonth"/>周</td>
      </tr>
      </Table>
      <jsp:getProperty name="clock" property="date"/>
      </BODY></HTML>
      在上面代码中的第二行<%@ page import="ufobean.ShowCalendar"%>这个语句,意思是引入ufobean包以及包中的文件;其次要注意
      <jsp:useBean id="clock" class="ufobean.ShowCalendar" scope="page"/>语句,其中id的值是自定义的,class值是包名加点再加JavaBean名,scope有几个值,默认值是page,另外还有session,application等等,这里用page。time.jsp多次用到<jsp:getProperty>,其作用是获取JavaBean(ShowCalendar)的属性值,显示在页面中 。
      JavaBean(ShowCalendar.java)代码如下:
      package ufobean;
      import java.util.*;
      public class ShowCalendar{
         Calendar  calendar = null;
         int year,dayOfMonth,dayOfYear,weekOfYear,
         weekOfMonth,dayOfWeek,hour,minute,second;
         String  day,date,time;
         public ShowCalendar(){
           calendar = Calendar.getInstance();
           Date time = new Date();
           calendar.setTime(time);
         }
         public int getYear(){
           return calendar.get(Calendar.YEAR);
         }
         public String getMonth(){
           int m=1+calendar.get(Calendar.MONTH);
           String months[]={"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
           if(m>12)
             return "0";
             return months[m-1];
         }
         public String getDay(){
           int n =getDayOfWeek();
           String days[]={"日","一", "二", "三","四", "五", "六"};
           if(n>7)
             return "星期?";
             return days[n];
         }
         public String getDate(){
           return  getYear()+ "/" + getMonth()+"/"+getDayOfMonth();
         }
         public String getTime(){
           return getHour() + ":" + getMinute() + ":" + getSecond();
         }
         public int getDayOfMonth(){
           return calendar.get(Calendar.DAY_OF_MONTH);
         }
         public int getDayOfYear(){
           return calendar.get(Calendar.DAY_OF_YEAR);
         }
         public int getWeekOfYear(){
           return calendar.get(Calendar.WEEK_OF_YEAR);
         }
         public int getWeekOfMonth(){
           return calendar.get(Calendar.WEEK_OF_MONTH);
         }
         public int getDayOfWeek(){
           return calendar.get(Calendar.DAY_OF_WEEK)-1;
         }
         public int getHour(){
           return calendar.get(Calendar.HOUR_OF_DAY);
         }
         public int getMinute(){
           return calendar.get(Calendar.MINUTE);
         }
         public int getSecond(){
           return calendar.get(Calendar.SECOND);
         }
      }
      二、编译ShowCalendar.java文件
          这里介绍在DOS下怎么编译JavaBean:开始——运行——输入cmd——通过cd..或者cd进入到JavaBean(ShowCalendar.java)所在目录,然后输入命令:javac ShowCalendar.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文件中有以下语句:import ufobean;就意味着你引入了名为ufobean的包,那么在classes文件夹下的包名(文件夹名)应该是ufobean了。剩余步骤对比1、b)中的方法做就OK了。
      四、整个jsp使用JavaBean的过程就是这样,大家都会了吧。
      关键词: jsp bean ufo
      lovelyxgl 离线

      级别: 新手上路

      显示用户信息 

      只看该作者, 沙发   发表于: 05-21
      瞄瞄~
      yisu 离线

      级别: 新手上路

      显示用户信息 

      只看该作者, 板凳   发表于: 05-28
      自己搞过,但是一直没成功!转载了你的文章,希望能学会!
         谢谢你的文章!
      描述
      快速回复

      批量上传需要先选择文件,再选择上传
      认证码:

       回复后跳转到最后一页