还是看看老师的课件吧,感觉贴到上面还挺方便的,就只好继续贴啦,为了以后看资料方便。
JavaBean
首先:一:介绍一下什么是javabean
JavaBean:就是用Java语言定义的类,而这种类的设计需要遵循Sun指定的JavaBeans的标准.
JavaBean的编写要求:
二:引入javabean的好处
package org.lxh.demo ; public class Simple{ private String name ; private String password ; private int age ; public Simple(){ } public void setName(String name){ this.name = name ; } public void setPassword(String password){ this.password = password ; } public void setAge(int age){ this.age = age ; }publicString getName(){ return this.name ; } public String getPassword(){ return this.password; } public int getAge(){ return this.age ; } };使用JavaBean
在WEB中使用JavaBean有两种方式:- 通过page指令导入
-通过JSP中定义的JavaBean语法访问
范例1:JBDemo1.jsp直接在JSP中使用page指令导入
<%@ page contentType="text/html;charset=GBK"%> <%@ page import="org.lxh.demo.Simple"%> <% Simple simple = new Simple() ; simple.setName("张三") ; simple.setPassword("helloworld") ; simple.setAge(30) ; %> <h2>姓名:<%=simple.getName()%></h2> <h2>密码:<%=simple.getPassword()%></h2> <h2>年龄:<%=simple.getAge()%></h2>
范例2:通过JavaBean标签指令完成
<%@ page contentType="text/html;charset=GBK"%> <jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/> <% simple.setName("张三") ; simple.setPassword("helloworld") ; simple.setAge(30) ; %> <h2>姓名:<%=simple.getName()%></h2> <h2>密码:<%=simple.getPassword()%></h2> <h2>年龄:<%=simple.getAge()%></h2>
<jsp:useBeanid="simple" class="org.lxh.demo.Simple" scope="page"/>
<jsp:useBean>:表示在JSP中使用JavaBean
Id:凡是在标签中看到,表示生成的实例化对象,
Class:要引入的类及包。
Scope:此JavaBean的保存范围。四种范围:page,request,session,application.
实例化的操作是使用反射机制完成的。(要求必须有无参构造方法)
JavaBean每次修改之后都必须重新启动服务器,因为重新启动服务器之后,才可以将新的类重新加载进来
利用Tomcat中提供的自动加载功能
修改server.xml:
<Context path=“/demo” docBase=“d:\webdemo”reloadable=“true”/>项目开发中使用此配置,项目发布后,一定要关闭
三 :javaBean的应用
接受参数使用表单的方式传递参数。通过两种方式进行比较,观察JavaBean语法的特点。
第一种方式:范例:JBDemo3.htm
<form action="JBDemo03.jsp" method="post"> 姓名:<input type="text" name="name"><br> 密码:<input type="text" name="password"><br> 年龄:<input type="text" name="age"><br> <input type="submit" value="提交"> </form>
原始方式接受JBDemo3.jsp
<%@ page contentType="text/html;charset=GBK"%> <jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/> <% request.setCharacterEncoding("GBK") ; %> <% simple.setName(request.getParameter("name")) ; simple.setPassword(request.getParameter("password")) ; simple.setAge(Integer.parseInt(request.getParameter("age"))) ; %> <h2>姓名:<%=simple.getName()%></h2> <h2>密码:<%=simple.getPassword()%></h2> <h2>年龄:<%=simple.getAge()%></h2>
原始方式存在的问题:
如果表单中的参数很多要一个个的接受第二种方式:JavaBean接受
范例:JBDemo4.jsp <%@ page contentType="text/html;charset=GBK"%> <jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/> <% request.setCharacterEncoding("GBK") ; %> <jsp:setProperty name="simple" property=“*" /> <h2>姓名:<%=simple.getName()%></h2> <h2>密码:<%=simple.getPassword()%></h2> <h2>年龄:<%=simple.getAge()%></h2>
设置JavaBean的属性JavaBean定义完成之后,就可以直接使用设置属性的方式,为bean中的内如赋值,赋值的语句一般有四种:方法一:通过自省的方式设置内容,最常用的方式。< jsp:setProperty name="simple" property=“*" />~name属性就是找的JavaBean中定义的id
~property=“*”,以后的所有变化都在此处,此时表示的是根据参数的名称自动进行设置
<form action="JBDemo04.jsp" method="post"> 姓名:<input type="text" name="name1"><br> 密码:<input type="text" name="password"><br> 年龄:<input type="text" name="age"><br> <input type="submit" value="提交"> </form>
如果在Simple.java中作如下修改
public void setName1(String name){ System.out.println(“*********”); this.name = name ; }
方法二:指定一个属性
<jsp:setProperty name=“simple” property=“一个具体的属性" /> <%@ page contentType="text/html;charset=GBK"%> <jsp:useBean id="simple" class="org.lxh.demo.Simple" scope="page"/> <% request.setCharacterEncoding("GBK") ; String pass = "hello" ; %> <jsp:setProperty name="simple" property="name" /> <jsp:setProperty name="simple" property="password" /> <h2>姓名:<jsp:getProperty name="simple" property="name"/></h2> <h2>密码:<jsp:getProperty name="simple" property="password"/></h2> <h2>年龄:<jsp:getProperty name="simple" property="age"/></h2>
方法三:将指定的属性给指定的属性
<jsp:setProperty name=“bean的名称” property=“一个具体的属性“ param=“参数名称” /> <jsp:setProperty name="simple" property="name" param="password"/> <jsp:setProperty name="simple" property="password" param="name"/>
方法四:设置指定的值给属性
<jsp:setProperty name=“bean的名称” property=“一个具体的属性“ value=“具体的内容” /> <% request.setCharacterEncoding("GBK") ; String pass = "hello" ; %> <jsp:setProperty name="simple" property="name" value="password"/> <jsp:setProperty name="simple" property="password" value="<%=pass%>"/>
取得指定的属性
<jsp:getProperty name="simple" property="name"/> <%=simple.getName()%>