180 likes | 287 Vues
JSP 和 JavaBean 简介. 回顾. JSP 隐式对象是预定义的类对象,可被嵌入 JSP 表达式和 Scriplet 隐式对象通过 JSP 容器导入到 JSP 页面中 request 、 response 和 out 对象等输入和输出对象用于显示和检索网页中的信息 session 、 application 和 pageContext 等作用域通信和控制对象向 JSP 页面提供页面环境的访问权 page 对象用于表示 Servlet , 而 config 对象用于存储 Servlet 的初始化参数. 目标.
E N D
回顾 • JSP隐式对象是预定义的类对象,可被嵌入 JSP 表达式和 Scriplet • 隐式对象通过 JSP 容器导入到 JSP 页面中 • request、response和 out 对象等输入和输出对象用于显示和检索网页中的信息 • session、application和 pageContext 等作用域通信和控制对象向 JSP 页面提供页面环境的访问权 • page对象用于表示 Servlet, 而 config对象用于存储 Servlet的初始化参数
目标 • 运用 JavaBean进行Java Web编程 • 了解JavaBean的4中作用域范围
JavaBean • JavaBean 是可重用组件 JavaBean的优点 可重用组件 可在多个应用程序中使用 可以跨平台
JSP页面查询数据 查询数据: <% Connection conn = null; Statement stmt = null; ResultSet rs = null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:mydb", "", ""); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from Customers"); while (rs.next()) { out.print(rs.getString(1)); out.print(rs.getString(2)); } rs.close(); stmt.close(); conn.close(); %>
JSP页面添加数据 添加数据: <% Connection conn = null; Statement stmt = null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:mydb", "", ""); stmt = conn.createStatement(); stmt.executeUpdate("insert into Customers(customerID,CompanyName) values(‘tom','JADE BIRD')"); stmt.close(); conn.close(); %>
JavaBean package db ; import java.sql.*; public class Conn { Connection conn = null ; public Connection getConn(){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn= DriverManager.getConnection("jdbc:odbc:mydb","",""); }catch(Exception e){ System.out.println(e.printStackTrace()); } return conn ; } }
JSP 使用JavaBean • 标准动作用于: • 将 JavaBean 嵌入 JSP 页面 • 设置和获取 JavaBean 的属性 • 将用户请求转发给其他页面 • 将其他页面的内容嵌入当前页面 • 标准动作可以为空标签及容器标签 • 标准动作中的属性区分大小写 • JSP 中的标准动作使用 <jsp>作为前缀 JSP 页面 JavaBean JSP 可使用 JSP 标准动作调用 JavaBean 组件并访问属性
useBean动作 ... <head> <jsp:useBean id="BeanID" class="MyBean" scope="page"/> </head> ... 创建引用并嵌入现有的 Bean id 属性创建对 class属性中所述类的引用
useBean 动作 • 范围指定 JavaBean 在 JSP 页面中的可用性。各种范围 选项如下:
Get()和Set()方法 • getXxx() 和 setXxx() 方法用于访问 JavaBean 的属性 访问 JavaBean的属性 JavaBean 的属性 Get()方法 Set()方法 定义了公有方法 定义了公有方法 Get()方法返回值 Set()方法给属性赋值
Get()和Set()方法 • import java.io.*; • public class MyBean • { • private String name; • public MyBean() • { • } • public String getName() • { • return name; • } • public void setName(String myname) • { • name = myname; • } • } 将 name属性声明为私有属性 不带参数的默认构造函数 get() 方法返回一个值 Set() 方法设置一个值
JSP 标准动作 • JSP 标准动作包括: JSP 标准动作 <jsp:useBean> <jsp:getProperty> <jsp:include> <jsp:forward> <jsp:setProperty>
setProperty动作 ... <head> <jsp:useBean id="BeanID" class="MyBean" scope="session"/> <jsp:setProperty name=“BeanID” property=“name” value=“示例"/> </head> ... name属性指定对 JavaBean 类的引用 设置 JavaBean 在 JSP 页面中的属性 指定 JavaBean的属性名称
getProperty动作 ... <head> <jsp:useBean id="BeanID" class="MyBean" scope="page"/> <jsp:setProperty name="BeanID" property=“name” value=“示例"/> </head> <body> <jsp:getProperty name="BeanID" property="name"/> </body> ... Name 属性指定对 JavaBean类的引用 Property属性指定 JavaBean的属性名称 获取 JavaBean中指定的属性的值
创建 JavaBean • 在 JavaBean中使用 get() 和 set()方法 public class simpleBean { private String name = null; private int age = 0; public simpleBean() { } public String getName() { return name; } public void setName(String username) { name = username; } }
在JSP中使用 JavaBean <html> <head> <title> 在 JSP 中使用 JavaBean </title> <jsp:useBean id="BeanId" class="example5.simpleBean" scope="application"/> <jsp:setProperty name="BeanId" property="name" value="Andrew"/> <jsp:setProperty name="BeanId" property="age" value="25"/> </head> <body> 姓名:<jsp:getProperty name="BeanId" property="name"/> <br/> 年龄:<jsp:getProperty name="BeanId" property="age"/> </body> </html> • 使用 useBean、setProperty和 getProperty 动作 演示:示例 5
总结 • JavaBean是可在多个应用程序中重复使用的组件 • JSP标准动作用于插入文件、Bean 组件以及将用户转至其他网页