JSP笔记-JavaBean技术
来源:互联网 发布:东方财富网软件下载 编辑:程序博客网 时间:2024/06/11 22:54
“蓝瘦,香菇,香菇在这里”
1 JavaBean技术
JavaBean 的产生,使 JSP 页面中的业务逻辑变得更加清晰,程序之中的实体对象及业务逻辑可以单独封装到 Java 类之中,JSP 页面可以通过 自身操作 JavaBean 的动作标识对其进行操作,改变了 HTML 网页代码与 Java 代码混乱的编写方式,不仅提高了程序的可读性、易维护性,而且提高了 代码的重用性。
JavaBean 是一种 JAVA 语言写成的可重用组件
Javabean 就是为了和 jsp 页面传数据化简交互过程而产生的。
使 JSP 页面中的 java 代码分离出去,降低了耦合
接下来给出的是JavaBean与其它Java类相比而言独一无二的特征(规范):
- 提供一个默认的无参构造函数。
- 需要被序列化并且实现了Serializable接口。(实现序列化表示将对象转换成可存储或可传输的状态,好像可以不用)
- 可能有一系列可读写属性。
- 可能有一系列的”getter”或”setter”方法。
1.1 JavaBean的种类
可视化 JavaBean:用于实现可视化界面,一般用于 Swing 的程序中,JSP开发少用
非可视化 JavaBean : 分为值 JavaBean 和 工具 JavaBean
值 JavaBean :严格遵循 JavaBean的命名规范,通常用来封装表单数据,作为信息的容器
工具JavaBean :可以不遵循 JavaBean的命名规范 用于封装业务逻辑,数据操作等,连接数据库等,实现业务逻辑与页面显示的分离,提高了代码的可读性与易维护性。
值 JavaBean
UserBean.java
public class UesrBean { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } private String password; @Override public String toString() { return "UesrBean [name=" + name + ", password=" + password + "]"; }}
工具 JavaBean MyTools.java
// 转换字符串中的 “<” 与 “>” 字符public class MyTools { public String change(String source) { source = source.replace("<","<"); source = source.replace(">",">"); }}
1.2 JavaBean的应用
1 获取 JavaBean的属性
首先引入 JavaBean 类,在通过 JSP 动作标识进行获取
<jsp:useBean id="produce" class="com.bean.Produce"></jsp:useBean><jsp:getProperty property="name" name="produce"/>
Produce.java
//package experiment06;public class Produce { // 商品名称 private String name = "LOL进阶指南"; // 商品价格 private double price = 298; // 数量 private int count = 10; // 出厂地址 private String factoryAdd = "火星进坑有限公司"; public String getName() { return name; } public double getPrice() { return price; } public int getCount() { return count; } public String getFactoryAdd() { return factoryAdd; } public void setName(String name) { this.name = name; } public void setPrice(double price) { this.price = price; } public void setCount(int count) { this.count = count; } public void setFactoryAdd(String factoryAdd) { this.factoryAdd = factoryAdd; }}
Produce 类必须遵循 JavaBean 规范 ,getProperty 标签才能根据 getter方法获取值,
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><jsp:useBean id="produce" class="com.bean.Produce"></jsp:useBean><!DOCTYPE HTML><html><head><meta charset="utf-8"><title>显示商品信息</title></head><body><div> <ul> <li> 商品名称:<jsp:getProperty property="name" name="produce"/> </li> <li> 价格:<jsp:getProperty property="price" name="produce"/>(元) </li> <li> 数量:<jsp:getProperty property="count" name="produce"/> </li> <li> 厂址:<jsp:getProperty property="factoryAdd" name="produce"/> </li> </ul></div></body></html>
2 对 JavaBean 属性赋值
对上个例子中的的属性赋值,这里关联了 setter 方法。
<jsp:setProperty property="name" name="produce" value="手机"/><jsp:setProperty property="price" name="produce" value="1980.88"/><jsp:setProperty property="count" name="produce" value="1"/><jsp:setProperty property="factoryAdd" name="produce" value="广东省xxx公司"/>
3 在JSP 页面中应用 JavaBean
这个例子关键就是这个:
<jsp:useBean id="person" class="com.wgh.Person" scope="page"> <jsp:setProperty name="person" property="*" /></jsp:useBean>
scope 表示JavaBean实例的有效范围, property=”*” 表示所有值。
Person.java
//package com.wgh;public class Person { private String name; // 姓名 private int age; // 年龄 private String sex; // 性别 private String address; // 住址 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE HTML><html><head><meta charset="utf-8"><title>录入员工信息页面</title><style type="text/css">ul { list-style: none; /*设置不显示项目符号*/ margin:0px; /*设置外边距*/ padding:5px; /*设置内边距*/}li { padding:5px; /*设置内边距*/}</style></head><body> <form action="register.jsp" method="post"> <ul> <li>姓 名:<input type="text" name="name"></li> <li>年 龄:<input type="text" name="age"></li> <li>性 别:<input type="text" name="sex"></li> <li>住 址:<input type="text" name="address" size="35"></li> <li><input type="submit" value="添 加"></li> </ul> </form></body></html>
register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><% request.setCharacterEncoding("UTF-8");%><jsp:useBean id="person" class="com.wgh.Person" scope="page"> <jsp:setProperty name="person" property="*" /></jsp:useBean><!DOCTYPE HTML><html><head><meta charset="utf-8"><title>显示录入的员工信息页面</title><style type="text/css">ul { list-style: none; /*设置不显示项目符号*/ margin: 0px; /*设置外边距*/ padding: 5px; /*设置内边距*/}li { padding: 5px; /*设置内边距*/}</style></head><body> <ul> <li>姓 名:<jsp:getProperty property="name" name="person" /></li> <li>年 龄:<jsp:getProperty property="age" name="person" /></li> <li>性 别:<jsp:getProperty property="sex" name="person" /></li> <li>住 址:<jsp:getProperty property="address" name="person" /></li> </ul></body></html>
实例-应用JavaBean 解决中文乱码
<jsp:useBean id="messageBean" class="com.wgh.MessageBean" scope="request"/>
<%=MyTools.toChinese(messageBean.getAuthor()) %>
MessageBean.java
package com.wgh;public class MessageBean { private String author;// 存储留言者 private String title;// 存储留言标题 private String content;// 存储留言内容 public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; }}
MyTools.java
package com.wgh;import java.io.UnsupportedEncodingException;public class MyTools { public static String toChinese(String str) { if (str == null) str = ""; try { // 通过String类的构造方法,将指定的字符串转换为“UTF-8”编码 str = new String(str.getBytes("ISO-8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) { str = ""; e.printStackTrace(); } return str; }}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE HTML><html><head><meta charset="utf-8"><title>留言页面</title><style type="text/css">ul { list-style: none; /*设置不显示项目符号*/ margin:0px; /*设置外边距*/ padding:5px; /*设置内边距*/}li { padding:5px; /*设置内边距*/}</style></head><body> <form action="deal.jsp" method="post"> <ul> <li>留 言 者:<input type="text" name="author" size="20"></li> <li>留言标题:<input type="text" name="title" size="30"></li> <li>留言内容:<textarea name="content" rows="6" cols="30"></textarea></li> <li><input type="submit" value="提交"> <input type="reset" value="重置"></li> </ul> </form></body></html>
deal.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><jsp:useBean id="messageBean" class="com.wgh.MessageBean" scope="request"> <jsp:setProperty name="messageBean" property="*"/></jsp:useBean><jsp:forward page="show.jsp"/>
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="com.wgh.MyTools" %><!-- 获取request范围内名称为messageBean的MessageBean类实例 --><jsp:useBean id="messageBean" class="com.wgh.MessageBean" scope="request"/><!DOCTYPE HTML><html><head><meta charset="utf-8"><title>显示留言信息</title><style type="text/css">ul { list-style: none; /*设置不显示项目符号*/ margin:0px; /*设置外边距*/ padding:5px; /*设置内边距*/}li { padding:5px; /*设置内边距*/}</style></head><body> <ul> <!-- 获取留言者后进行转码操作 --> <li>留 言 者:<%=MyTools.toChinese(messageBean.getAuthor()) %></li> <!-- 获取留言标题后进行转码操作 --> <li>留言标题:<%=MyTools.toChinese(messageBean.getTitle())%></li> <!-- 获取留言内容后进行转码操作 --> <li>留言内容:<textarea rows="6" cols="30" readonly><%=MyTools.toChinese(messageBean.getContent()) %></textarea></li> <li><a href="index.jsp">继续留言</a></li> </ul></body></html>
- JSP笔记-JavaBean技术
- Jsp JavaBean技术
- Jsp JavaBean技术
- Jsp JavaBean技术
- servlet, jsp, javaBean, 技术介绍
- 《JSP开发技术》读书笔记之JavaBean技术
- jsp与javaBean学习笔记
- JSP学习笔记04--JavaBean
- servlet/jsp/javabean学习笔记
- jsp+javabean+servlet的笔记
- JavaBean和jsp学习笔记
- Jsp学习——JavaBean技术
- JSP详细篇——JavaBean技术
- JSP+JavaBean+Servlet技术(MVC模型)
- jsp技术:day3#1---JavaBean的使用
- [学习笔记]jsp+javaBean 文件下载
- Jsp学习笔记:javaBean属性命名规范
- JSP学习笔记六之JavaBean
- HTML5学习笔记(二)——HTML字符格式
- vs2012运行opengl超级宝典第五版程序出现“模块对于SAFESEH 映像是不安全的"
- 汇编语言:顺序和分支程序设计
- maven工程管理
- ITween
- JSP笔记-JavaBean技术
- Hadoop集群搭建过程中DataNode与TaskTracker节点的问题
- CentOS、Ubuntu、Debian三个linux比较异同
- ListView应用实战
- 计算机网络第三第四第五章
- 基于地图的短信追踪小练习(7)经纬度的设置与显示
- english
- double 四舍五入保留2位小数
- 在HTTP 1.0中,状态码401的含义是什么;如果返回“找不到文件”的提示,用header函数