书签 分享 收藏 举报 版权申诉 / 37
上传文档赚钱

类型《Java Web应用开发》课件ch07.ppt

  • 上传人(卖家):momomo
  • 文档编号:5787106
  • 上传时间:2023-05-09
  • 格式:PPT
  • 页数:37
  • 大小:748KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《Java Web应用开发》课件ch07.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java Web应用开发 Java Web应用开发课件ch07 Java Web 应用 开发 课件 ch07
    资源描述:

    1、第第7章章 JavaBean在在JSP中的应用中的应用什么是面向对象?什么是面向对象?l三大面向对象特性:封装、继承和多态三大面向对象特性:封装、继承和多态l类是对类是对相似事物的抽象相似事物的抽象。l类的本质作用:类的本质作用:可重用可重用 BaseDao类类BaseDao类类对数据库操作行为的抽象对数据库操作行为的抽象public class BaseDao private static final String DRIVER_CLASS=“.;private static final String DATABASE_URL=.;private static final String DA

    2、TABASE_USRE=.;private static final String DATABASE_PASSWORD=.;public static Connection getConnection()public static void closeConnection(Connection conn)public static void closePreparedStatement(PreparedStatement psmt)public static void closeResultSet(ResultSet rs)JavaBean思想思想l小孩的积木小孩的积木 l面向对象的编程通常以

    3、面向对象的编程通常以类的实例化对象类的实例化对象为基础进行驱动的。为基础进行驱动的。l使用使用JavaBean将面向对象编程技术引入到将面向对象编程技术引入到JSP脚本中。脚本中。积木块积木块组装组装成品成品JavaBean组件组件组件间协作组件间协作应用程序应用程序“用户登录用户登录”体会抽象体会抽象问题问题1:有什么实体?:有什么实体?问题问题3:该实体应具有什么功能?:该实体应具有什么功能?答答1:“用户用户”实体实体答答3:“用户用户”具有具有“判断是否存在判断是否存在”的功能的功能问题问题2:该实体具有什么属性?:该实体具有什么属性?答答2:“用户用户”具有具有“用户名用户名”和和“

    4、密码密码”属性属性“用户登录用户登录”体会抽象体会抽象l抽象抽象“判断用户是否存在判断用户是否存在”的功能的功能l考虑两个方面:考虑两个方面:l该功能的输入是什么该功能的输入是什么?l该功能的输出是什么该功能的输出是什么?public class UserDAOImpl public boolean isExist(String username,String password)try conn=DBGet.getConnection();String sql=“select*from TBL_USER where username=?and password=?”psmt=con.prepa

    5、reStatement(sql);psmt.setString(1,username);psmt.setString(2,password);rs=psmt.executeQuery();if(rs.next()return true;catch(SQLException ex)ex.printStackTrace();finally return false;“用户注册用户注册”体会抽象体会抽象public class UserDAOImpl public boolean register(String username,String password,int age,String coun

    6、try,String zipCode,String hobby)try conn=DBGet.getConnection();String sql=“insert into TBL_USER values(?,?,?,?,?,?,?)”psmt=con.prepareStatement(sql);psmt.setString(1,username);psmt.setString(2,password);/设置每一个占位符的数据设置每一个占位符的数据 int num=psmt.executeUpdate();if(num 0)return true;catch(SQLException ex)e

    7、x.printStackTrace();finally return false;参数过多参数过多,且为对象属性且为对象属性如何按照如何按照OOP思想设计参数?思想设计参数?使用使用JavaBean进行参数的传递进行参数的传递一个典型的一个典型的JavaBeanpublic class User private String uname;private String upass;/其它私有成员变量其它私有成员变量public User()public void setUname(String uname)this.uname=uname;public void setUpass(String

    8、upass)this.upass=upass;public String getUname()return this.uname;public String getUpass()return this.Upass;/其它其它set和和get方法方法1.公有类公有类2.私有成员变量私有成员变量3.公有无参构造方法公有无参构造方法4.set方法方法5.get方法方法JavaBean组件技术组件技术l通常通常JavaBean具有某些要求:具有某些要求:l是一个公有类(是一个公有类(public););l具有不带任何参数的公有构造方法;具有不带任何参数的公有构造方法;l具有具有get和和set方法,以

    9、便读取和写入方法,以便读取和写入Bean的属的属性。性。lJavaBean与与Java类之间的区别在于类之间的区别在于JavaBean不需要继承自任何特定类或接口。不需要继承自任何特定类或接口。JavaBean的简单应用的简单应用l在在JSP页面上使用页面上使用JavaBeanl创建实体类创建实体类User。l创建该类实例在一个创建该类实例在一个jsp页面(页面(jsp1.jsp)上,同时)上,同时设置并显示个人信息。设置并显示个人信息。l实现简单用户登录实现简单用户登录l实现在实现在jsp2.jsp中显示一个中显示一个“登录登录”表单,提交给表单,提交给jsp3.jsp处理。处理。l在在js

    10、p3.jsp中实例化一个中实例化一个JavaBean的对象,设置并的对象,设置并显示该对象的各个属性值,并把它放入显示该对象的各个属性值,并把它放入session范围范围中。中。l通过链接进入通过链接进入jsp4.jsp,依然显示该对象的各个属性,依然显示该对象的各个属性值。值。“用户登录用户登录”改进后的方法改进后的方法public class UserDAO public boolean isExist(Users person)try conn=DBGet.getConnection();String sql=“select*from TBL_USER where username=?a

    11、nd password=?”psmt=con.prepareStatement(sql);psmt.setString(1,person.getUsername();psmt.setString(2,person.getPassword();rs=psmt.executeQuery();if(rs.next()return true;catch(SQLException ex)ex.printStackTrace();finally return false;String username,String password“用户注册用户注册”改进后的方法改进后的方法public class Us

    12、erDAO public boolean register(Users person)try con=DBGet.getConnction();String sql=“insert into TBL_USER values(?,?,?,?,?,?,?)”psmt=con.prepareStatement(sql);psmt.setString(1,person.getUsername();psmt.setString(2,person.getPassword();/设置每一个占位符的数据设置每一个占位符的数据 int num=psmt.executeUpdate();if(num 0)retu

    13、rn true;catch(SQLException ex)ex.printStackTrace();finally return false;String username,String password,int age,String country,String zipCode,String hobbyJavaBean的使用意义之一的使用意义之一使零散的信息化为一个整体使零散的信息化为一个整体l实体类有以下应用:实体类有以下应用:lpublic boolean isExist(Users person)lpublic boolean register(Users person)lsessi

    14、on.setAttribute(“person”,person);lUsers tmpPerson=(Users)session.getAttribute(“person”);JavaBean的使用意义之二的使用意义之二可重用可重用l使用一个数据访问使用一个数据访问JavaBean(DAO):):UserDAOImpl类,创建该类实例在一个类,创建该类实例在一个JSP页面上,判断登录用户是否存在,如页面上,判断登录用户是否存在,如果存在,添加该用户登录。果存在,添加该用户登录。UserDaoImpl类类isExist方法方法public boolean isExist(Users person

    15、)try conn=DBGet.getConnection();String sql=“select*from TBL_USER where username=?and password=?”psmt=con.prepareStatement(sql);psmt.setString(1,person.getUsername();psmt.setString(2,person.getPassword();rs=psmt.executeQuery();if(rs.next()return true;catch(SQLException ex)ex.printStackTrace();finally

    16、 return false;UserDaoImpl类类addUser方法方法public boolean addUser(User user)try conn=DBGet.getConnection();String sql=insert into TBL_USER values(?,?);psmt=conn.prepareStatement(sql);psmt.setString(1,user.getUname();psmt.setString(2,user.getUpass();int num=psmt.executeUpdate();if(num 0)return true;return

    17、 false;addUser.jsp%String title=request.getParameter(title);String content=request.getParameter(content);/接收表单参数接收表单参数User user=new User();user.setUname(uname);user.setUpass(upass);UserDao userDao=new UserDaoImpl();if(userDao.addUser(user)out.println(“用户注册成功用户注册成功);else out.println(“用户注册失败用户注册失败);%J

    18、avaBean组件技术组件技术可重用组件整合信息 可以跨平台JavaBean 的优点JavaBean组件技术组件技术l组件模型的组件模型的3种重要特性种重要特性l拥有单一对象的特性。拥有单一对象的特性。l隐藏对象内部实现细节,提供接口通信隐藏对象内部实现细节,提供接口通信l可以重复使用组件特性可以重复使用组件特性TopicDaoImpl类类显示主题列表显示主题列表public List findListTopic(int boardId)try conn=DBGet.getConnection();String sql=“select*from TBL_TOPIC where boardId=

    19、?”;ps=con.prepareStatement(sql);ps.setInt(1,boardId);rs=psmt.executeQuery();List list=new ArrayList();Topic topic=null;while(rs.next()topic=new Topic()topic.setTopicId(rs.getInt(topicId);topic.setTitle(rs.getString(title);topic.setPublishTime(rs.getDate(publishTime);topic.setUid(rs.getInt(uid);list.

    20、add(topic);return list;catch(SQLException ex)finally return null;显示主题列表页面显示主题列表页面显示所有新闻显示所有新闻%for(int i=0;i JavaBean的使用意义的使用意义l使零散的信息化为一个整体使零散的信息化为一个整体l可重用可重用在JSP中使用JavaBeanJSP 标准动作标准动作在JSP中使用JavaBeanlJSP通常使用三种标记来使用通常使用三种标记来使用Bean:l将本地变量与已有的将本地变量与已有的Bean绑定,或用于初始绑定,或用于初始化新的化新的Bean,使其在动作标记和,使其在动作标记和JS

    21、P脚本中脚本中有效;有效;l获取获取属性的值;属性的值;l设置设置一个或多项属性的值。一个或多项属性的值。在JSP中使用JavaBeanl将本地变量与已有的将本地变量与已有的Bean绑定,或用于初始绑定,或用于初始化新的化新的Bean:l格式:格式:lll相当于脚本代码:相当于脚本代码:l在JSP中使用JavaBeanl获取属性的值:获取属性的值:l格式:格式:lll相当于表达式:相当于表达式:l在JSP中使用JavaBeanl设置一个或多项属性的值:设置一个或多项属性的值:l格式:格式:lll相当于脚本代码:相当于脚本代码:l JavaBean的交互性l通常,通常,HTML表单从客户端获取信

    22、息,而且信息表单从客户端获取信息,而且信息存放在存放在request或或session对象里以名称对象里以名称/值对的值对的形式传递到形式传递到JSP页面。页面。l在在JSP中,使用中,使用Bean的属性与表单的输入参数的属性与表单的输入参数之间的交互(之间的交互(param)。)。重新修改重新修改jsp2.jsp jsp3.jsp jsp4.jspl通常,需要接收表单全部参数数据,并传递给通常,需要接收表单全部参数数据,并传递给Bean对象。方法如下:对象。方法如下:llJavaBean生命周期lBean的生命周期是的生命周期是JSP中一个很重要的中一个很重要的概念,分为概念,分为page、

    23、request、session和和application四种类型。通过设置四种类型。通过设置Bean的的scope属性属性,可以对不同的程序需求设置,可以对不同的程序需求设置不同的生命周期。不同的生命周期。page范围范围l在在page作用域的作用域的JSP页面中可以无限次的修改页面中可以无限次的修改Bean的的属性值,但是当关闭页面时,所有的变动都会丢失。属性值,但是当关闭页面时,所有的变动都会丢失。package entity;public class Counter private int counter=0;public Counter()public int getCounter()

    24、return+counter;具有具有Page作用域的作用域的Bean这是一个具有这是一个具有page作用域的作用域的Bean你好,你是第你好,你是第位访客。位访客。重载页面重载页面页面控制指令页面控制指令l操作指令操作指令l实现页面转向实现页面转向l操作指令操作指令l嵌入其他页面嵌入其他页面.将用户的请求转发给其他 JSP 页面page 属性指定其他页面的地址操作指令操作指令.将其他 JSP 中的内容或页面嵌入到指定的页面page 属性指定其他页面的地址 使用使用 include 动作动作 此文本将在显示完此文本将在显示完 welcome.html的内容后显示的内容后显示 request范围

    25、范围lrequest作用域的作用域的Bean对象与对象与request对对象的生命周期相同。象的生命周期相同。l当在当在JSP页面中使用页面中使用指令指令转向另外的转向另外的JSP页面时,第一个页面时,第一个JSP页面页面会把会把request对象传递到下一个对象传递到下一个JSP页面,页面,而属于而属于request作用域的作用域的JavaBean组件组件也伴随着也伴随着request对象送出,被第二个对象送出,被第二个JSP页面接收。页面接收。.session范围范围lSession作用域的作用域的Bean对象与对象与session对对象的生命周期相同。与象的生命周期相同。与session

    26、作用域变作用域变量相似,这些量相似,这些Bean在创建其会话中始终在创建其会话中始终可以被引用。可以被引用。这是一个具有这是一个具有session作用域的作用域的Bean你好,你是第你好,你是第位访客。位访客。重载页面重载页面application范围范围lapplication作用域的作用域的Bean对所有的用户对所有的用户和所有页面都起作用,只需创建一次,而和所有页面都起作用,只需创建一次,而且将会存在于且将会存在于Web应用程序执行的整个过应用程序执行的整个过程中。程中。这是一个具有这是一个具有application作用域的作用域的Bean你好,你是第你好,你是第位访客。位访客。重载页面重载页面总结总结lJavaBean 是可在多个应用程序中重复使是可在多个应用程序中重复使用的组件用的组件lJSP 标准动作用于插入文件、标准动作用于插入文件、Bean 组件组件以及将用户转向至其他网页以及将用户转向至其他网页lforward 动作用于将用户的请求转发给其动作用于将用户的请求转发给其他页面他页面linclude 动作用于将一个页面嵌入当前动作用于将一个页面嵌入当前 JSP 页面页面

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《Java Web应用开发》课件ch07.ppt
    链接地址:https://www.163wenku.com/p-5787106.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库