Java-Web应用开发基础教程完整版课件全套ppt教程(最新).ppt
《Java-Web应用开发基础教程完整版课件全套ppt教程(最新).ppt》由会员分享,可在线阅读,更多相关《Java-Web应用开发基础教程完整版课件全套ppt教程(最新).ppt(249页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java Web应用开发基础教程Java Web编程简介C/S和B/S网站和系统静态Web和动态Web核心是有没有数据库JavaWeb工作原理客户端和Web服务器建立连接;客户端发送HTTP请求;服务器端接收客户端的HTTP请求,生成HTTP响应回发;服务器端关闭连接,客户端解析响应,恢复页面。Java Web相关技术面向对象软件工程软件项目管理HTML+JavaScriptJDBC+Servlet+JSP+JavaBean+XML数据库(数据库设计+MySQL实现)设计模式(MVC)环境搭建需要的软件运行环境:JDK+MySQL+Tomcat辅助工具:EclipseJ2ee+UltraEdi
2、t+Visio+Navicat注意事项环境搭建是一个费时的过程却意义重大操作系统和软件版本的不同会有一定的区别其它的辅助软件可自行考虑安装面向对象编程基础OOP的三个主要概念:封装、继承、多态面向过程的程序设计语言当中:程序=算法+数据结构面向对象的程序设计语言当中:程序=对象+消息对象:属性+方法的软件组合,是类的一个实例。封装继承多态Thanks for your attention!Thanks for your attention!Java Web应用开发基础教程MYSQL及及JDBC初步初步第第3章章关系型数据库管理系统RDBMS:RelationalDatabaseManageme
3、ntSystems,通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数据,以行和列的形式存储数据。MySQL:MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。MySQL被广泛地应用在Internet上的中小型网站中。特点是:体积小、速度快、总体拥有成本低,且开放源码。MySQL初步安装MySQL数据库启动MySQL数据库MySQL数据库的使用MySQL常用命令JDBC概述及基本原理JDBC(JavaDatabaseConnectivity)是一种用于执行SQL语句的JavaAPI。它由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库
4、开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。JDBC的使用包括注册驱动程序获取数据库连接发送SQL语句处理结果连接工具类连接数据库的代码在一个项目中是需要经常被使用的,在开发一个大型项目时,会有相当一部分类需要与数据库进行连接,一旦某个连接参数发生变化,代码更改的工作量将十分巨大,工具类的出现可以较好地解决这个问题。JDBC2.0最新版的JDBC2.0API被划分为两部分:JDBC2.0核心APIJDBC2.0标准扩展API。java.sql包:JDBC2.0的核心API。javax.sql包:JDBC2.0的标准扩展API,其中增加了一些数据访问和数据源
5、访问的重大功能,其中有一些是主要用来做企业计算的。JDBC2.0核心APIJDBC核心API2.0在以下几个方面做了比较大的改进:修改了ResultSet接口的方法,支持可以滚动的记录集和Java语言来更新记录集。新的Statement接口支持批操作(BatchUpdate)。支持最新的SQL3数据类型,特别是对BLOB、CLOB等类型的数据提供了很好的支持。JDBC2.0核心API新的SQL语句接口(Statement接口)Statement接口PreparesStatement接口(继承Statement接口)以上两个接口分别由Connection接口的createStatement()方
6、法和prepareStatement()方法创建。JDBC2.0核心API创建Statement的方法publicStatementcreateStatement()publicStatementcreateStatement(intresuleSetType,intresultSetConcurrency)resuleSetType:返回ResultSet的类型,如是否允许数据库游标前后移动,是否对数据库更新操作敏感等。resultSetConcurrency:返回的ResultSet的协同模式,如允许更新记录集的数据或者仅仅只读不能更新等。JDBC2.0核心APIClass.forName
7、(“com.mysql.jdbc.Driver);Connectionconn=DriverManager.getConnection(“);Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);上面的代码创建了一个SQL语句接口(Statement)的实例对象,该实例对象允许它执行SQL语句所返回的记录集中的数据库游标前后移动,允许更新记录集中的数据。JDBC2.0核心APIPrepareStatement接口表示预编译的SQL语句的对象。SQL语句被预编译并
8、且存储在PreparedStatement对象中。然后可以使用此对象高效地多次执行该语句。PrepareStatement中的SQL语句往往是不完整的,带有多个问号以表示缺省参数,可以相应的setter方法(seInt、setString等等)指定与输入参数的已定义SQL类型兼容的类型。JDBC2.0核心APIClass.forName(“com.mysql.jdbc.Driver);Connectionconn=DriverManager.getConnection(“);PrepareStatementprepstat=conn.prepareStatement(insertintotab
9、le(name,age)values(?,?);prepstat.setString(1,“zhangsan);prepstat.setInt(2,30);prepstat.executeUpdate();上面的代码是PrepareStatement使用的例子JDBC2.0核心APIStatement、PreparedStatement和CallableStatement接口都支持数据库批操作。Statement接口中有如下方法:publicvoidaddBatch(Stringsql);将SQL语句添加到SQL语句块中publicvoidclearBatch();将SQL语句块中的所有SQL
10、语句全部删除publicintexecuteBatch();将SQL语句块发送到数据库服务器去并执行,它返回的结果是一个整型数组。JDBC2.0核心API使用JDBCAPI执行数据库批操作的方法是:1)创建Statement接口的实例对象2)调用addBatch()方法往SQL语句块中添加若干个SQL语句3)使用executeBatch()方法完成数据库批操作JDBC2.0核心API在PreparedStatement接口实现数据库批操作的方法是1)创建PreparedStatement接口的实例对象2)使用PreparedStatement接口中定义的setXXX()方法设定SQL语句参数的
11、值3)使用addBatch()方法添加批处理语句到语句块4)使用executeBatch()方法执行批处理语句JDBC2.0核心APIDatabaseMetaData接口:用于获取有关数据库的信息,如数据库中所有的表名、系统函数、关键字、数据库产品名和数据库支持的JDBC驱动程序名等。DatabaseMetaData对象是通过Connection接口的getMetaData()方法创建的。ResultSetMetaData接口:用于获取结果集的结构,如结果集中列的类型和属性信息。JDBC2.0核心API新的记录集接口(ResultSet接口)1、新定义了若干个常数用于指定游标移动的方向publ
12、icstaticfinalintFETCH_FORWARD;publicstaticfinalintFETCH_REVERSE;publicstaticfinalintFETCH_UNKNOWN;publicstaticfinalintTYPE_FORWARD_ONLY;publicstaticfinalintTYPE_SCROLL_INSENSITIVE;publicstaticfinalintTYPE_SCROLL_SENSITIVE;publicstaticfinalintCONCUR_READ_ONLY;publicstaticfinalintCONCUR_UPDATABLE;JDBC
13、2.0核心APIFETCH_FORWORD:指定处理记录集中行的顺序是由前到后,即从第一行开始处理一直到最后一行。FETCH_REVERSE:指定处理记录集中行的顺序是由后到前,即从最后一行开始处理一直到第一行。FETCH_UNKNOWN:不指定处理记录集中行的顺序,而由JDBC驱动程序和数据库系统决定。TYPE_FORWARD_ONLY:指定数据库游标的移动方向是向前,不允许向后移动,即只能使用ResultSet接口的next()方法而不能使用previous()方法,否则会产生错误。JDBC2.0核心APITYPE_SCROLL_INSENSITIVE:指定数据库游标可以在记录集中前后移动
14、,并且当前数据库用户获取的记录集对其他用户的操作不敏感。TYPE_SCROLL_SENSITIVE:指定数据库游标可以在记录集中前后移动并且当前数据库用户获取的记录集对其他用户的操作敏感。JDBC2.0核心APICONCUR_READ_ONLY:该常数的作用是指定当前记录集的协作方式(concurrencymode)为只读。一旦使用了这个常数,那么用户就不可以更新记录集中的数据。CONCUR_UPDATABLE:该常数的作用是指定当前记录集的协作方式(concurrencymode)为可以更新。一旦使用了这个常数,那么用户就可以使用updateXXX()等方法更新记录集中的数据。JDBC2.0
15、核心API2、ResultSet接口提供了一整套的定位方法。publicbooleanabsolute(introw);该方法的作用是将记录集中的某一行设定为当前行,亦即将数据库游标移动到指定的行。参数row指定了目标行的行号,这是绝对的行号,由记录集的第一行开始计算。publicbooleanrelative(introws);该方法的作用也是将记录集中的某一行设定为当前行,但是它的参数rows表示目标行相对于当前行的行号。JDBC2.0核心API例子:当前行是第3行现在需要移动到第5行去,怎么处理?既可以使用absolute()方法,也可以使用relative()方法。rs.absolut
16、e(5);rs.relative(2);其中rs代表ResultSet接口的实例对象JDBC2.0核心API例子:当前行是第5行需要移动到第3行去代码如下rs.absolute(3);rs.relative(-2);其中rs代表ResultSet接口的实例对象传递给relative()方法的参数。如果是正数,那么数据库游标向前移动;如果是负数,那么数据库游标向后移动。JDBC2.0核心APIpublicbooleanfirst();该方法的作用是将当前行定位到数据库记录集的第一行。publicbooleanlast();该方法的作用刚好和first()方法相反,是将当前行定位到数据库记录集的最
17、后一行。publicbooleanisFirst();该方法的作用是检查当前行是否记录集的第一行。如果是,返回true,否则返回false。publicbooleanisLast();该方法的作用是检查当前行是否记录集的最后一行。如果是,返回true,否则返回false。JDBC2.0核心APIpublicvoidafterLast();该方法的作用是将数据库游标移到记录集的最后,位于记录集最后一行的后面。如果该记录集不包含任何的行该方法不产生作用。publicvoidbeforeFirst();该方法的作用是将数据库游标移到记录集的最前面,位于记录集第一行的前面。如果记录集不包含任何的行,该
18、方法不产生作用。publicbooleanisAfterLast();该方法检查数据库游标是否处于记录集的最后面。如果是,返回true,否则返回false。JDBC2.0核心APIpublicbooleanisBeforeFirst();该方法检查数据库游标是否处于记录集的最前面。如果是,返回true,否则返回false。publicbooleannext();该方法的作用是将数据库游标向前移动一位,使得下一行成为当前行。当刚刚打开记录集对象时,数据库游标的位置在记录集的最前面。publicbooleanprevious();该方法的作用是将数据库游标向后移动一位,使得上一行成为当前行。JDB
19、C2.0核心API3、ResultSet接口添加了对行操作的支持使用JDBCAPI2.0不仅可以任意将数据库游标定位到记录集中的特定行,而且还可以使用ResultSet接口新定义的一套方法更新当前行的数据。在JDBC1.0中更新记录集中某行的数据,必须发送SQL语句给数据库以执行UPDATE、DELETE、INSERT等数据库操作。JDBC2.0核心APIpublicbooleanrowDeleted();如果当前记录集的某行被删除了,那么记录集中将会留出一个空位。调用该方法,如果探测到空位的存在,那么就返回true;如果没有探测到空位的存在,就返回false值。publicbooleanro
20、wInserted();如果当前记录集中插入了一个新行,该方法将返回true,否则返回false。publicbooleanrowUpdated();如果当前记录集的当前行的数据被更新,该方法返回true,否则返回false。JDBC2.0核心APIpublicvoidinsertRow();该方法将执行插入一个新行到当前记录集的操作。publicvoidupdateRow();该方法将更新当前记录集当前行的数据。publicvoiddeleteRow();该方法将删除当前记录集的当前行。JDBC2.0核心APIpublicvoidupdateString(intcolumnIndex,Str
21、ingx);该方法更新当前记录集的当前行某列的值,该列的数据类型是String,该方法的参数columnIndex指定所要更新的列的列索引,第一列的列索引是1,以此类推。publicvoidupdateString(StringcolumnName,Stringx);该方法同上,其第一个参数是columnName代表需要更新的列的列名而不是columnIndex。ResultSet接口中还定义了很多个updateXXX()方法都和上面的两个方法相类似。JDBC2.0核心API向数据库当前记录集插入新行的操作流程如下:1)调用moveToInsertRow()方法2)调用updateXXX()方
22、法指定插入行各列的值3)调用insertRow()方法往数据库中插入新的行例:rs.moveToInsertRow();rs.updateString(name,herry);rs.updateInt(age,30);rs.insertRow();JDBC2.0核心API更新数据库中某个记录的值(某行的值)的方法是:1、定位到需要修改的行2、使用相应的updateXXX()方法设定某行某列的新值,也可以使用cancelRowUpdates()方法进行回滚3、使用updateRow()方法完成UPDATE的操作例:rs.first();rs.updateString(name,Steven);r
23、s.updateRow();JDBC2.0核心API删除记录集中某行(亦即删除某个记录)的方法1、定位到需要修改的行(使用absolute()relative()等方法)2、使用deleteRow()方法例:rs.first();rs.deleteRow();JDBC2.0核心API处理BLOB和CLOB类型的数据BLOB和CLOB是SQL3标准支持的新数据类型,主要用于保存大型超长的数据,如图片视频、CD等。在JDBCAPI2.0中新定义了Blob接口和Clob接口,对这两种类型数据的操作大大简化了。ResultSet、PreparedStatement等接口都定义了getBlob()、ge
24、tClob()、setBlob()和setClob()方法,用以获取或者设定BLOB和CLOB类型的数据。JDBC2.0核心APIBlob接口的方法publicInputStreamgetBinaryStream();该方法从Blob数据中获取一个输入流Clob接口的方法publicInputStreamgetAsciiStream();该方法从Clob对象中返回一个输入流。JDBC2.0核心APIBLOB和CLOB数据类型的区别,BLOB和CLOB数据类型虽然都可以存储大量超长的数据,但两者是有区别的。BLOB其实是BinaryLargeObject的缩写,BLOB类型的数据以二进制的格式保
25、存于数据库中,特别适用于保存程序文件图片、视频文件、音频文件等。CLOB是CharacterLargeObject的缩写,CLOB类型的数据以Character的格式保存于数据库中,比较适合于保存比较长的文本文件。Thanks for your attention!Thanks for your attention!Java Web应用开发基础教程XML第第4章章XML简介eXtensibleMarkupLanguage(可扩展标记语言)由万维网联盟(WorldWideWebConsortium,W3C)于1998年2月发布的推荐标准。XML定义了一种文件格式,一种描述数据、保存数据的方法,使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web 应用 开发 基础教程 完整版 课件 全套 ppt 教程 最新
限制150内