目录

  • 1 教学PPT
    • 1.1 第1次课
    • 1.2 第2次课
    • 1.3 第3次课
    • 1.4 第4次课
    • 1.5 第5次课
    • 1.6 第6次课
    • 1.7 第7次课
    • 1.8 第8次课
    • 1.9 第9次课
    • 1.10 第10次课
    • 1.11 第11次课
    • 1.12 第12次课
    • 1.13 第13次课
    • 1.14 第14次课
    • 1.15 第15次课
    • 1.16 第16次课
    • 1.17 第17次课
    • 1.18 第18次课
    • 1.19 第19次课
    • 1.20 第20次课
    • 1.21 第21次课
    • 1.22 第22次课
    • 1.23 第23次课
    • 1.24 第24次课
    • 1.25 第25次课
    • 1.26 第26次课
    • 1.27 第27次课
    • 1.28 第28次课
    • 1.29 第29次课
    • 1.30 第30次课
    • 1.31 第31次课
    • 1.32 第32次课
    • 1.33 第33次课
    • 1.34 第34次课
    • 1.35 第35次课
    • 1.36 第36次课
    • 1.37 第37次课
    • 1.38 第38次课
    • 1.39 第39次课
    • 1.40 第40次课
    • 1.41 第41次课
    • 1.42 第42次课
    • 1.43 第43次课
    • 1.44 第44次课
    • 1.45 第45次课
    • 1.46 第46次课
    • 1.47 第47次课
  • 2 HTML与CSS
    • 2.1 HTML基础知识
      • 2.1.1 教学视频
      • 2.1.2 随堂测验
    • 2.2 HTML基本标签
      • 2.2.1 教学视频
      • 2.2.2 随堂测验
    • 2.3 CSS样式表
      • 2.3.1 教学视频
      • 2.3.2 随堂测验
    • 2.4 CSS常用属性
      • 2.4.1 教学视频
      • 2.4.2 随堂测验
    • 2.5 CSS定位
      • 2.5.1 教学视频
      • 2.5.2 随堂测验
    • 2.6 HTML表格
      • 2.6.1 教学视频
      • 2.6.2 随堂测验
    • 2.7 HTML表单
      • 2.7.1 教学视频
      • 2.7.2 随堂测验
    • 2.8 综合案例——美化注册页面
      • 2.8.1 教学视频
      • 2.8.2 随堂测验
    • 2.9 综合案例——文字滚动屏
      • 2.9.1 教学视频
      • 2.9.2 随堂测验
    • 2.10 单元作业
  • 3 Java Web概述
    • 3.1 Java Web应用简介
      • 3.1.1 教学视频
      • 3.1.2 随堂测验
    • 3.2 开发工具下载安装与环境变量配置
      • 3.2.1 教学视频
      • 3.2.2 随堂测验
    • 3.3 应用程序的开发与部署
      • 3.3.1 教学视频
      • 3.3.2 随堂测验
    • 3.4 单元作业
    • 3.5 综合性作业
    • 3.6 实战素材
  • 4 JSP基础
    • 4.1 动态网页和JSP简介
      • 4.1.1 教学视频
      • 4.1.2 随堂测验
    • 4.2 JSP基本元素
      • 4.2.1 教学视频
      • 4.2.2 随堂测验
    • 4.3 JSP指令元素——page指令
      • 4.3.1 教学视频
      • 4.3.2 随堂测验
    • 4.4 JSP指令元素——include指令
      • 4.4.1 教学视频
      • 4.4.2 随堂测验
    • 4.5 JSP动作元素
      • 4.5.1 教学视频
      • 4.5.2 随堂测验
    • 4.6 综合案例——图书集合的输出
      • 4.6.1 教学视频
      • 4.6.2 随堂测验
    • 4.7 单元作业
    • 4.8 综合性作业
    • 4.9 实战素材
  • 5 JSP内置对象
    • 5.1 JSP内置对象简介
      • 5.1.1 教学视频
      • 5.1.2 随堂测验
    • 5.2 request对象
      • 5.2.1 教学视频
      • 5.2.2 随堂测验
    • 5.3 response对象
      • 5.3.1 教学视频
      • 5.3.2 随堂测验
    • 5.4 session对象
      • 5.4.1 教学视频
      • 5.4.2 随堂测验
    • 5.5 application对象
      • 5.5.1 教学视频
      • 5.5.2 随堂测验
    • 5.6 pageContext对象
      • 5.6.1 教学视频
      • 5.6.2 随堂测验
    • 5.7 综合案例——打造简单购物车
      • 5.7.1 教学视频
      • 5.7.2 随堂测验
    • 5.8 综合案例——网上答题及自动评测系统
      • 5.8.1 教学视频
      • 5.8.2 随堂测验
    • 5.9 单元作业
    • 5.10 实战素材
  • 6 Servlet基础
    • 6.1 Servlet及其生命周期
      • 6.1.1 教学视频
      • 6.1.2 随堂测验
    • 6.2 Servlet创建、配置与运行
      • 6.2.1 教学视频
      • 6.2.2 随堂测验
    • 6.3 Servlet常用对象及其方法
      • 6.3.1 教学视频
      • 6.3.2 随堂测验
    • 6.4 Servlet数据共享
      • 6.4.1 教学视频
      • 6.4.2 随堂测验
    • 6.5 请求转发与重定向
      • 6.5.1 教学视频
      • 6.5.2 随堂测验
    • 6.6 汉字乱码解决方案
      • 6.6.1 教学视频
      • 6.6.2 随堂测验
    • 6.7 Java Web常用开发模式
      • 6.7.1 教学视频
      • 6.7.2 随堂测验
    • 6.8 综合案例——实现复数运算
      • 6.8.1 教学视频
      • 6.8.2 随堂测验
    • 6.9 单元作业
    • 6.10 综合性作业
    • 6.11 实战素材
  • 7 会话跟踪技术
    • 7.1 会话跟踪技术
      • 7.1.1 教学视频
      • 7.1.2 随堂测验
    • 7.2 Cookie创建及使用
      • 7.2.1 教学视频
      • 7.2.2 随堂测验
    • 7.3 HttpSession创建及使用
      • 7.3.1 教学视频
      • 7.3.2 随堂测验
      • 7.3.3 技术拓展
    • 7.4 ServletConfig对象
      • 7.4.1 教学视频
      • 7.4.2 随堂测验
    • 7.5 ServletContext对象
      • 7.5.1 教学视频
      • 7.5.2 随堂测验
      • 7.5.3 技术拓展
    • 7.6 综合案例——基于数据库的购书
      • 7.6.1 教学视频
      • 7.6.2 随堂测验
    • 7.7 综合案例——用户注销
      • 7.7.1 教学课件
      • 7.7.2 教学视频
      • 7.7.3 随堂测验
    • 7.8 单元作业
    • 7.9 综合性作业
    • 7.10 实战素材
  • 8 EL表达式
    • 8.1 EL及其运算符
      • 8.1.1 教学视频
      • 8.1.2 随堂测验
    • 8.2 EL请求参数对象
      • 8.2.1 教学视频
      • 8.2.2 随堂测验
    • 8.3 EL作用域对象
      • 8.3.1 教学视频
      • 8.3.2 随堂测验
    • 8.4 EL初始化参数对象
      • 8.4.1 教学视频
      • 8.4.2 随堂测验
    • 8.5 EL的pageContext对象
      • 8.5.1 教学视频
      • 8.5.2 随堂测验
    • 8.6 EL对JavaBean的访问
      • 8.6.1 教学视频
      • 8.6.2 随堂测验
    • 8.7 EL对集合对象的访问
      • 8.7.1 教学视频
      • 8.7.2 随堂测验
    • 8.8 单元作业
    • 8.9 综合性作业
    • 8.10 实战素材
  • 9 JSTL标签库
    • 9.1 JSTL简介与部署
      • 9.1.1 教学视频
      • 9.1.2 随堂测验
    • 9.2 核心标签库——通用标签
      • 9.2.1 教学视频
      • 9.2.2 随堂测验
    • 9.3 核心标签库——条件标签
      • 9.3.1 教学视频
      • 9.3.2 随堂测验
    • 9.4 核心标签库——迭代标签
      • 9.4.1 教学视频
      • 9.4.2 随堂测验
    • 9.5 核心标签库——URL标签
      • 9.5.1 教学视频
      • 9.5.2 随堂测验
    • 9.6 SQL标签库
      • 9.6.1 教学视频
      • 9.6.2 随堂测验
    • 9.7 综合案例——使用JSTL浏览书库信息
      • 9.7.1 教学视频
      • 9.7.2 随堂测验
    • 9.8 单元作业
    • 9.9 综合性作业
    • 9.10 实战素材
  • 10 JavaBean技术
    • 10.1 JavaBean的设计
      • 10.1.1 教学视频
      • 10.1.2 随堂测验
    • 10.2 JSP中使用JavaBean
      • 10.2.1 教学视频
        • 10.2.1.1 获取JavaBean实例对象
        • 10.2.1.2 获取JavaBean的属性值
        • 10.2.1.3 设置JavaBean的属性值
      • 10.2.2 随堂测验
    • 10.3 共享JavaBean的创建与使用
      • 10.3.1 教学视频
      • 10.3.2 随堂测验
      • 10.3.3 技术拓展
    • 10.4 综合案例——使用JavaBean封装信息并输出
      • 10.4.1 教学视频
      • 10.4.2 教学课件
      • 10.4.3 随堂测验
    • 10.5 数据库访问JavaBean的设计——工具类JDBCUtil创建
      • 10.5.1 教学视频
      • 10.5.2 教学课件
      • 10.5.3 随堂测验
      • 10.5.4 技术拓展
    • 10.6 数据库访问JavaBean的设计——UserDAO设计
      • 10.6.1 教学视频
      • 10.6.2 教学课件
      • 10.6.3 随堂测验
    • 10.7 数据库访问JavaBean的设计——DAO工厂类的设计
      • 10.7.1 教学视频
      • 10.7.2 教学课件
      • 10.7.3 随堂测验
    • 10.8 综合案例——图书信息的查询
      • 10.8.1 教学视频
      • 10.8.2 教学课件
      • 10.8.3 随堂测验
    • 10.9 单元作业
    • 10.10 综合性作业
    • 10.11 实战素材
  • 11 JDBC数据库访问技术
    • 11.1 MySQL数据库安装及使用
      • 11.1.1 教学视频
      • 11.1.2 教学课件
      • 11.1.3 随堂测验
    • 11.2 JDBC简介
      • 11.2.1 教学视频
      • 11.2.2 教学课件
      • 11.2.3 随堂测验
    • 11.3 JDBC访问数据库的步骤
      • 11.3.1 教学视频
      • 11.3.2 随堂测验
    • 11.4 综合案例——实现查询操作
      • 11.4.1 教学视频
      • 11.4.2 随堂测验
    • 11.5 综合案例——实现更新操作
      • 11.5.1 教学视频
      • 11.5.2 随堂测验
    • 11.6 数据源和连接池技术
      • 11.6.1 教学视频
      • 11.6.2 随堂测验
    • 11.7 单元作业
    • 11.8 综合性作业
    • 11.9 实战素材
  • 12 题库
    • 12.1 题库一
    • 12.2 题库二
    • 12.3 题库三
    • 12.4 题库四
    • 12.5 题库五
    • 12.6 题库六
  • 13 成果展示
    • 13.1 购书系统
      • 13.1.1 功能模块
      • 13.1.2 实战项目
    • 13.2 学生身体体质检测系统
      • 13.2.1 功能模块
      • 13.2.2 实战项目
    • 13.3 商品管理系统
      • 13.3.1 功能模块
      • 13.3.2 实战项目
JavaBean的设计
  1. <jsp:useBean />中JavaBean的概念及其设计规范

<jsp: useBean>中的JavaBean不同于EJB开发中的Bean也不同于GUI开发中的Bean,它是一类特殊的Java类在JSP开发中是提供给JSP/Servlet使用的,它的设计通常遵循如下基本要求:

1) JavaBean定义类的访问控制用public定义

2) 类的成员域的访问控制必须用private定义 (即 私有化成员域)

3) 必须定义一个无参的构造器即默认构造器

    (注意,当定义JavaBean时如果不定义任何的构造器 则JVM会自动添加一个无参构造器)

4) 私有化的成员域必须通过访问控制是public的成员方法进行设值、取值,且这些方法的方法名遵循特定的命名方式(以小写的set或get为前缀)

     (即 需要为私有化的成员域定义相应的setter和getter)

5) 实现 java.io.Serializable 接口

    一旦需要在网络中传输JavaBean时则必须要实现Serializable接口,如session钝化问题。

    (注意:该项规范在实际开发中的使用标准是“最迟使用”即不得不需要进行JavaBean实例对象的状态的序列化时才采用)


使用说明:设计规范 1) - 4)强制使用,设计规范 5) 最迟使用


2. JavaBean的"属性"的含义

1) JavaBean的属性是由setters和getters决定的,而非定义JavaBean的类的成员域

2) setter:a) 该方法的访问控制用public定义

                 b) 返回值类型:void

                 c) 以"set"开头,后加一个私有化的成员域且将该私有化成员域的第一个字母大写

                 d) 方法参数:参数的个数是1,参数类型与某个私有化的成员域一致

3) getter:a) 该方法的访问控制用public定义

                 b) 返回值:某个私有化的成员域

                 c) 以"get"/"is"开头,后加一个私有化的成员域且将该私有化成员域的第一个字母大写

                 d) 方法参数列表为空

                  注意:当私有化成员的类型是"boolean"时,该属性的getter是以"is"开头而不再是"get"开头

4) 由setter或getter获取JavaBean属性的规则:

         去掉"set"或"get"后的字母串,若第二个字母是小写的则将第一个字母也变成小写的


3. Code Example (define a User Bean)

package cn.edu.wfu.cs.web.beans;

import java.io.Serializable;

/**
 *
 * @author Huihui Zhang
 *
 */
public class UserBeanDemo implements Serializable {
    
    private static final long serialVersionUID = -3162981080472082953L;
    
    //定義Bean屬性
    private String id;
    private String name;
    private int age;
    private String sex;
    
    //定義構造器
    public UserBeanDemo() {
        super();
    }
    
    public UserBeanDemo(String id, String name, int age, String sex) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    //定義setters和getters
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    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;
    }

}


4. Scriptlet中直接调用JavaBean


运行结果