JavaBean 初步(二) 之 JavaBean 的属性

Java bean 是一种可重复使用、且跨平台的软件组件。javabean可分为两种:

一种是有用户界面的(ui user interface)的java bean 。

还有一种是没有用户界面的,主要负责处理事务(如数据运算,操纵数据库的)java bean。

jsp通常访问的是最后一种java bean。
java bean 和jsp 一起使用的优点:
使得java代码和html代码分离,这样便于维护代码。如果把所有的代码程序都写到jsp页面,使得代码繁琐,难以维护可以降低开发jsp网页人间对java编程能力的要求。
jsp侧重于生成动态网页,事务处理由java bean来完成,这样可以充分利用java bean组件的重要特点,提高开发软件的效率。

mvc设计模式:model 模型 view视图 controller控制器
view视图,就是用户最后看到的,用来呈现网页的
controller起到控制的作用,我这个请求应该由谁来处理
model 最后处理的
用户看到一个view 然后有某种动作,可能是提交一个表单,表单提交,向服务器发送一个请求,请求首先被控制器接受,比如servlet 。servlet收到用户发来的请求,决定由谁(model )来处理这个请求。然后模型返回给服务器servlet,服务器返回给用户view。


1.JavaBean 实际是具有统一接口格式的java类

2.JavaBean的组成:属性(Properties)、方法(Method)、事件(Events)
3.一个JavaBean的例子(该例子是用的Simple属性)

//类名大写,包名小写
package com;
public class FirstBean
{
   private String x;
   public FirstBean()
   {
     //此处为构造函数
    x="This is the first javabean";   
   }
   public void setX()
   {
    this.x=x;//this 指当前类中的x而不是参数x
   }
   public String getX()
   {
     return x;
   }
}
4.JavaBean属性的介绍:
   (1)Simple属性 :伴随一对 get/set (函数)方法,如果这么写,setString..则暗指该类中有一个string的的属性;
   (2)Indexed属性 使用时可以获得一个数组的整个或者一个值。使用实例如下:     
    
public class B
{
  private int[]={1,2,3,4,5};
 
  //设置整个数组
  public void setB(int[] i)
  {
    b=i;
  }
  //设置单个元素的值
  public void setB(int a, int b)
  {
    b[a]=b;
  }

  //取得整个数组中的值
  public int[] getB()
  {
    return b;
  }
  //获取单个值与setB类似,略。
}

4. Bound、与Constrained属性
JspBean在Jsp中的引用:
4.1.用<jsp:useBean>标记:
<jsp:useBean id="name" class="classname" scope="page|request|session|application"/>
id:代表jsp页面中的实例对象,通过这个对象引用类中的成员,如,id="wq", wq.成员();
class: 代表JavaBean类,如: class="com.Test",引用com包中的Test类;
scope:指明了javabean的生存时间

4.2.用<jsp:setProperty>标记:
功能:将请求页面中的表单值赋值/或者自己想设置的值 给JavaBean中的属性赋值
 <jsp:setProperty name="beanName" last_syntax />
name:表示 已经存在并且具有一定生存范围的JavaBean实例,例如上面的 wq。

last_syntax:表示了四种不同的语法:

(1)property="*"

(2)property="propertyName"

(3)property="propertyName" param="parameterName"

(4)property="propertyName" value="value"

property:是一个很重要的属性,它指定想要设定值的 JavaBean 中的成员名,不建议使用*。
param:根据我的理解,他是请求页面的 表单中的 txt 属性名。
value:代表了直接赋值给 property的属性    

4.3.<jsp:getProperty>标签 与<jsp:setProperty>功能相反,用法一样:
<jsp:getProperty name="BeanName" property="想要获取属性值的那个属性的名字">

JavaBean的生命周期:
1.page:当一个页面有jsp程序产生并传送到客户端时,属于page范围内的javabean也将清除,生命周期介绍。
2.request: 它的生命周期与jsp程序的request对象同步。 由forward串联起来的jsp程序都可以共享 javabean,
仅通过forward就可以把javabean对象传递给下一个jsp,一下是一个小例子:
<jsp:forward page="abc.jsp"/>   //转向abc.jsp页面
 <% String str=request.getParameter("strName")  %> //jsp中对象的使用,获取上一个请求页面中名称为 strName的text中的值。
                  
注:如何向一个页面发送请求?<用表单>
<form name="随便取一个不与其他重复的名字" method="post" action="接受参数的页面" target="_self">
<span style="font-family:Times New Roman;"> </span><input type="text" name="strName">;
<span style="font-family:Times New Roman;"> </span><input type="submit" name="sub" value="提交">
</form>  


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
登陆实例(JSP+Servlet+JavaBean) 部分代码如下,下载看全部代码: <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登陆</title> </head> <body> <center><br><br><br> <p><form action="<%=request.getContextPath ()%>/CheckServlet" method="post"> <table width="259" border="1" cellpadding="0" cellspacing="0" bordercolor="#0099FF"> <tr align="center"> <td height="20" colspan="2"><span class="style1">登陆</span></td> </tr> <tr> <td width="50" height="20">用户名</td> <td width="161" align="left"><input name="uname" type="text" id="uname" size="19"></td> </tr> <tr> <td height="20">密码</td> <td align="left"><input name="pword" type="password" id="pword" size="20"></td> </tr> <tr align="center"> <td colspan="2"><input type="submit" name="Submit" value="提交">   <input type="reset" name="Submit" value="重置"></td> </tr> </table></form></p> </center> </body> </html> 3.Servlet /**//* * CheckServlet.java *@author Java619 * Created on 2006年3月25日, 下午6:05 */ package com.ceun; import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; import com.ceun.bean.UserBean; /** *//** * * @author ceun * @version */ public class CheckServlet extends HttpServlet ...{ /** *//** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String name=request.getParameter("uname"); String pword=request.getParameter("pword"); out.println("<br><br><br><hr><center><font color=red size=12><B>"); try...{ UserBean user=new UserBean(); if(user.check(name,pword)) out.println("登陆成功"); else out.println("登陆失败"); }catch(Exception e)...{ } out.println("</B></font></center>"); out.close(); }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值