版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JDBC程序的工作模板程序的工作模板 try Class.forName(JDBC驱动类驱动类); catch (ClassNotFoundException e) System.out.println(无法找到驱动类无法找到驱动类); try Connection con=DriverManager.getConnection(JDBC URL,数据库用户名数据库用户名,密码密码); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); whi
2、le (rs.next() int x = rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); con.close(); catch (SQLException e) e.printStackTrace(); 获得数据库连接获得数据库连接 发送发送Sql语句语句 处理结果处理结果 注册注册JDBC驱动驱动 JDBC URL用来标识数据库用来标识数据库 必须处理的异常必须处理的异常 释放资源释放资源 必须处理的异常必须处理的异常参考幻灯 JDBC驱动驱动 5-1 JDBC驱动由数据库厂商驱动由数据库厂商提供提供
3、在个人开发与测试中,可以使用在个人开发与测试中,可以使用JDBC-ODBC桥连方式桥连方式 在生产型开发中,推荐使用纯在生产型开发中,推荐使用纯Java驱动方式驱动方式 JDBC API JDBC Driver Manager 纯纯Java 驱动驱动 JDBCODBC桥桥 Java 应用程序应用程序 ODBC 参考幻灯 JDBC驱动驱动 5-2 桥连桥连 将对将对JDBC API的调用,转换为对另一组数据库连接的调用,转换为对另一组数据库连接API的调用的调用 优点:可以访问所有优点:可以访问所有ODBC可以访问的数据库可以访问的数据库 缺点:执行效率低、功能不够强大缺点:执行效率低、功能不够
4、强大 JDBC-ODBC桥桥 Java 应用程序应用程序 JDBC APIODBC APIODBC层层 参考幻灯 JDBC驱动驱动 5-3 使用使用JDBC-ODBC进行桥连进行桥连 1、在控制面板、在控制面板ODBC数据源数据源系统系统DSN中配置数据源中配置数据源 2、编程,通过桥连方式与数据库建立连接、编程,通过桥连方式与数据库建立连接 -语法语法- Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection con =DriverManager.getConnection(jdbc:odbc:news,sa,sa); JDBC-ODB
5、C桥驱动类桥驱动类 的完全限定类名的完全限定类名 数据源名称数据源名称 演示:配置演示:配置ODBC数据源数据源 参考幻灯 JDBC驱动驱动 5-4 纯纯Java驱动驱动 由由JDBC驱动直接访问数据库驱动直接访问数据库 优点:优点:100% Java,快又可跨平台,快又可跨平台 缺点:访问不同的数据库需要下载专用的缺点:访问不同的数据库需要下载专用的JDBC驱动驱动 JDBC 驱动驱动 Java 应用程序应用程序 JDBC API 参考幻灯 JDBC驱动驱动 5-5 使用纯使用纯Java驱动方式进行直连驱动方式进行直连 1、下载数据库厂商提供的驱动程序包、下载数据库厂商提供的驱动程序包 2、
6、将驱动程序包引入工程中、将驱动程序包引入工程中 3、编程,通过纯、编程,通过纯Java驱动方式与数据库建立连接驱动方式与数据库建立连接 -语法语法- String URL=jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=news; Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); Connection con = DriverManager.getConnection(URL,sa,sa); sql server数据库驱动类的数据库驱动类的 完全限定类名完全限定
7、类名 演示:在工程中引入演示:在工程中引入JDBC驱动程序包驱动程序包 数据库名称数据库名称 参考幻灯 小结小结 1 JDBC桥连与纯桥连与纯Java驱动两种方式的优缺点分别是什么?驱动两种方式的优缺点分别是什么? JDBC URL的作用是什么?的作用是什么? 参考幻灯 创建数据表:创建数据表:FirstLevelTitle JDBC应用应用 要求对新闻标题进行管理:要求对新闻标题进行管理: 1、新闻标题存储在、新闻标题存储在Sql Server 2000中中 2、通过、通过JDBC对新闻标题进行增、删、改、查操作对新闻标题进行增、删、改、查操作 操作步骤操作步骤 使用使用Statement插
8、入数据插入数据 使用使用PreparedStatement 增、删、改、查数据增、删、改、查数据 字段名称字段名称字段说明字段说明数据类型数据类型大小大小 Id序号序号int4 TitleName标题名称标题名称varchar50 Creator创建者创建者varchar50 CreateTime创建时间创建时间datetime8 1 2 参考幻灯 使用使用Statement插入数据插入数据 2-1 使用桥连方式向使用桥连方式向FirstLevelTitle表中插入一条记录表中插入一条记录 代码片断代码片断 public static void main(String args) Connec
9、tion con = null; Statement statement = null; try String strSql = insert into FirstLevelTitle values(1,军事军事,网管网管,getdate(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) System.out.println(无法找到驱动类无法找到驱动类); con = DriverManager.getConnection(jdbc:odbc:news,sa,sa); st
10、atement = con.createStatement(); statement.executeUpdate(strSql); catch (SQLException sqlE) sqlE.printStackTrace(); finally closeStatement(statement); closeConnection(con); 建立连接建立连接 执行执行sql语句语句 数据库连接使用完数据库连接使用完 毕,及时释放毕,及时释放 载入载入JDBC-ODBC桥驱动类桥驱动类 异常处理异常处理 异常处理异常处理 完整代码实现完整代码实现 参考幻灯 使用使用Statement插入数据插
11、入数据 2-2 使用纯使用纯Java驱动方式向驱动方式向FirstLevelTitle表中表中 插入一条记录插入一条记录 代码片断代码片断 public static void main(String args) Connection con = null; Statement statement = null; try String strSql = insert into FirstLevelTitle values(1,军事军事,网管网管,getdate(); try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);
12、 catch (ClassNotFoundException e) System.out.println(无法找到驱动类无法找到驱动类); con = DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433; +DatabaseName=news,sa,sa); statement = con.createStatement(); statement.executeUpdate(strSql); catch (SQLException sqlE) sqlE.printStackTrace(); finally /
13、释放连接释放连接 载入载入sql server数据数据 库驱动类库驱动类 建立连接建立连接 执行执行sql语句语句 完整代码实现完整代码实现 参考幻灯 小结小结 2 在使用纯在使用纯Java驱动方式进行数据库连接时,如果程序在运行时驱动方式进行数据库连接时,如果程序在运行时 抛出异常:抛出异常: java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=news 那么出错的原因是什么?如何解决?那么出错的原因是什么?如何解决? 请单独建立一个
14、类请单独建立一个类ConnectionManager,专门负责建立数据,专门负责建立数据 库连接、以及关闭连接,并思考这样做带来的好处是什么库连接、以及关闭连接,并思考这样做带来的好处是什么 找不到合适的驱动类,原因:没有把数据库驱动包引入工程找不到合适的驱动类,原因:没有把数据库驱动包引入工程 好处在于:既便于管理、又可以提高代码的复用性好处在于:既便于管理、又可以提高代码的复用性 完整代码实现完整代码实现 参考幻灯 PreparedStatement PreparedStatement接口接口 (预编译的(预编译的 SQL 语句)语句) Statement 接口接口 当当 SQL 语句将运
15、行多次时,尽语句将运行多次时,尽 量使用量使用PreparedStatement,以,以 便提高运行效率便提高运行效率 PreparedStatement 接口继承接口继承 Statement接口接口 PreparedStatement比普通的比普通的Statement对象使用起来更对象使用起来更 加灵活,更有效率加灵活,更有效率 参考幻灯 使用使用PreparedStatement插入数据插入数据 public class NewsFirstTitleDB2 public static void main(String args) Connection con = null; Prepare
16、dStatement pStatement = null; try SimpleDateFormat hmFromat = new SimpleDateFormat(yyyy-MM-dd hh:mm:ss); con = ConnectionManager.getConnection(); String strSql = insert into FirstLevelTitle values(?,?,?,?); pStatement = con.prepareStatement(strSql); pStatement.setInt(1, 1); pStatement.setString(2, 军
17、事军事); pStatement.setString(3, 管理员管理员); pStatement.setString(4, hmFromat.format(new Date(); pStatement.executeUpdate(); catch (SQLException sqlE) sqlE.printStackTrace(); finally ConnectionManager.closeStatement(pStatement); ConnectionManager.closeConnection(con); 参数化的查询语句参数化的查询语句 设置每个设置每个 ? 参数的值,参数的值
18、, 列号从列号从1开始开始 执行执行sql语句语句 参考幻灯 使用使用PreparedStatement删除数据删除数据 public class NewsFirstTitleDB3 public static void main(String args) Connection con = null; PreparedStatement pStatement = null; try con = ConnectionManager.getConnection(); String strSql = delete from FirstLevelTitle where TitleName = ?; p
19、Statement = con.prepareStatement(strSql); pStatement.setString(1, 军事军事); int row = pStatement.executeUpdate(); System.out.println(“成功删除了成功删除了+row+行数据行数据!); catch (SQLException sqlE) sqlE.printStackTrace(); finally ConnectionManager.closeStatement(pStatement); ConnectionManager.closeConnection(con);
20、返回删除记录的行数返回删除记录的行数 参考幻灯 使用使用PreparedStatement更新数据更新数据 public class NewsFirstTitleDB4 public static void main(String args) Connection con = null; PreparedStatement pStatement = null; try con = ConnectionManager.getConnection(); String strSql = update FirstLevelTitle set Creator = ? where Id = ?; pSta
21、tement = con.prepareStatement(strSql); pStatement.setString(1, 编辑编辑); pStatement.setInt(2, 1); int row = pStatement.executeUpdate(); System.out.println(成功更新了成功更新了+row+行数据行数据!); catch (SQLException sqlE) sqlE.printStackTrace(); finally ConnectionManager.closeStatement(pStatement); ConnectionManager.c
22、loseConnection(con); 返回更新记录的行数返回更新记录的行数 参考幻灯 小结小结 3 使用使用PreparedStatement语句执行如下操作:语句执行如下操作: 删除表删除表FirstLevelTitle中所有中所有Id小于小于10的记录,并在控制台的记录,并在控制台 输出删除记录的行数输出删除记录的行数 完整代码实现完整代码实现 参考幻灯 使用使用PreparedStatement查询数据查询数据 2-1 public class NewsFirstTitleDB5 public static void main(String args) int id = 0; Con
23、nection con = null; PreparedStatement pstmt = null; ResultSet resSet = null; try con = ConnectionManager.getConnection(); String sqlStr = select max(id) from FirstLevelTitle ; pstmt = con.prepareStatement(sqlStr); resSet = pstmt.executeQuery(); if (resSet.next() id = resSet.getInt(1); catch (Excepti
24、on e) e.printStackTrace(); finally ConnectionManager.closeResultSet(resSet); ConnectionManager.closeStatement(pstmt); ConnectionManager.closeConnection(con); System.out.println(新的一级新闻标题的新的一级新闻标题的Id为:为: + (id + 1); 查询新闻一级标查询新闻一级标 题的题的Id的最大值的最大值 关闭结果关闭结果 集、语句、集、语句、 以及连接以及连接 对新闻一级标题对新闻一级标题Id的的 最大值加一,作为
25、新最大值加一,作为新 的一级标题的的一级标题的Id 获取数据,列获取数据,列 号从号从1开始开始 返回结果集返回结果集 参考幻灯 从数据库中取出所有的新闻一级标题从数据库中取出所有的新闻一级标题 代码片断代码片断 public static List getAllFirstLevelTitleList() /省略部分变量声明语句省略部分变量声明语句 ArrayList list = new ArrayList(); try dbConnection = ConnectionManager.getConnection(); String strSql = select * from FirstL
26、evelTitle order by CreateTime desc; pStatement = dbConnection.prepareStatement(strSql); res = pStatement.executeQuery(); while (res.next() int id = res.getInt(id); String title = res.getString(TitleName); String creator = res.getString(Creator); Date time = res.getDate (“CreateTime”); FirstLevelTitl
27、e fTitle = new FirstLevelTitle(id, title,creator, time); list.add(fTitle); /省略省略catch、finally子句子句 return list; 使用使用PreparedStatement查询数据查询数据 2-2 查询新闻一级标题查询新闻一级标题 创建标题对象,并添创建标题对象,并添 加入加入ArrayList中中 返回结果集返回结果集 完整代码实现完整代码实现 参考幻灯 总结总结 使用使用PreparedStatement语句执行如下操作:语句执行如下操作: 取出表取出表FirstLevelTitle中中Id的最大值
28、的最大值 向表向表FirstLevelTitle中插入一行新记录,其中中插入一行新记录,其中Id值为原值为原Id最大最大 值值加一加一 完整代码实现完整代码实现 参考幻灯 Thank you 参考幻灯 JSP简介简介 第四章第四章 21参考幻灯 回顾回顾 JDBC的英文全称是什么?的英文全称是什么? JDBC的主要作用是什么的主要作用是什么 ? PreparedStatement 与与 Statement相比,具有什么优相比,具有什么优 势?势? 参考幻灯 预习检查预习检查 为什么第一次请求为什么第一次请求JSP页面时,响应速度比较慢?页面时,响应速度比较慢? JSP文件中,有几种注释方法?格
29、式是什么?文件中,有几种注释方法?格式是什么? 参考幻灯 本章任务本章任务 为新闻发布系统创建为新闻发布系统创建JSP页面页面 能够在能够在Eclipse中部署运行该新闻发布系统中部署运行该新闻发布系统 参考幻灯 掌握掌握JSP的定义、作用、以及页面组成的定义、作用、以及页面组成 掌握如何创建掌握如何创建JSP页面页面 掌握掌握JSP页面的执行过程页面的执行过程 本章目标本章目标 参考幻灯 为什么需要为什么需要JSP 2-1 为什么需要基于为什么需要基于B/S技术的动态网页?技术的动态网页? B/S技术的特点是什么?技术的特点是什么? 使用动态网页,可以动态输出网页内容、同用户进行交互、对网页
30、内容使用动态网页,可以动态输出网页内容、同用户进行交互、对网页内容 进行在线更新进行在线更新 应用应用 服务器服务器 IE IE 解释执行解释执行 HTML文件文件 从服务器端检索到的信息从服务器端检索到的信息 返回响应返回响应 客户端的请求信息客户端的请求信息 发送请求发送请求 访问数据库访问数据库 返回结果返回结果 运行运行JSP等服务等服务 器端脚本程序器端脚本程序 1 用户输入用户输入 2 3 4 数据库数据库 服务器服务器 参考幻灯 为什么需要为什么需要JSP 2-2 如何在浏览器上动态输出当前日期?如何在浏览器上动态输出当前日期? 输出当前日期输出当前日期 你好,你好,ACCP!
31、今天是今天是 显然,无法通过静态显然,无法通过静态HTML完成这个效果,试一试完成这个效果,试一试JSP,看看是否可行,看看是否可行 运行结果运行结果 参考幻灯 什么是什么是JSP JSP(Java Server Pages)是指:)是指: 在在HTML中嵌入中嵌入Java脚本语言脚本语言 由应用服务器中的由应用服务器中的JSP引擎来编译和执行嵌入的引擎来编译和执行嵌入的Java脚本语言脚本语言 命令命令 然后将生成的整个页面信息返回给客户端然后将生成的整个页面信息返回给客户端 JSP页面页面 数据库数据库 服务器服务器 应用应用 服务器服务器 编译、执行编译、执行 客户端客户端 嵌入嵌入 J
32、ava脚本语言脚本语言 12 3 4 返回页面信息返回页面信息 参考幻灯 JSP 页面组成页面组成 4-1 JSP 页面的元素包括:页面的元素包括: 静态内容静态内容 指指 令令 表达式表达式 小脚本小脚本 HTML静态文本静态文本 以以“ ” 结束。结束。 比如:比如: 声声 明明 标准动作标准动作 以以“jsp: 动作名动作名 ” 开始,以开始,以“ ” 结束结束 比如:比如: 注释注释 参考幻灯 JSP 页面组成页面组成 4-2 输出当前日期输出当前日期 你好,你好,ACCP!今天是!今天是 指令指令 静态内容静态内容 小脚本小脚本 表达式表达式 注释注释 参考幻灯 JSP 页面组成页面
33、组成 4-3 在浏览器上观看运行结果在浏览器上观看运行结果 查看网页源文件查看网页源文件 可以通过源代码查看可以通过源代码查看 到到HTML注释的内容注释的内容 所有注释内容都不可见所有注释内容都不可见 参考幻灯 JSP 页面组成页面组成 4-4 合理、详细的注释有利于代码后期的维护和阅读合理、详细的注释有利于代码后期的维护和阅读 在在JSP文件的编写过程中,共有三种注释方法:文件的编写过程中,共有三种注释方法: HTML的注释方法:的注释方法: JSP注释标记:注释标记: 在在JSP脚本中使用注释:脚本中使用注释: 缺点:不安全,加大缺点:不安全,加大 网络传输负担网络传输负担 参考幻灯 小
34、结小结 1 请编写一个请编写一个JSP页面页面exercise1.jsp,要求:,要求: 至少包含三种注释至少包含三种注释 完整代码实现完整代码实现 参考幻灯 创建新闻发布系统的创建新闻发布系统的JSP页面页面 5-1 回忆第一章内容,请说明开发回忆第一章内容,请说明开发JSP动态网站的几动态网站的几 个步骤个步骤 创建创建Web项目项目 开发步骤开发步骤 设计设计Web 项目的项目的 目录结构目录结构 编写代码编写代码 (创建(创建 JSP) 部署、运行部署、运行 本章将从这里开始,带领大家创本章将从这里开始,带领大家创 建新闻发布系统的建新闻发布系统的JSP页面页面 参考幻灯 创建新闻发布
35、系统的创建新闻发布系统的JSP页面页面 5-2 设计设计Web项目的目录结构:项目的目录结构: 创建目录创建目录ch04:存放:存放JSP页面页面 创建目录创建目录CSS:存放样式表文件:存放样式表文件 创建目录创建目录images:存放图片:存放图片 参考幻灯 创建新闻发布系统的创建新闻发布系统的JSP页面页面 5-3 使用使用JSP模板向导创建模板向导创建JSP页面,共有三步:页面,共有三步: 1 2 3 右键点击右键点击“WebRoot”下的下的“ch04”,从右键菜单中选择:新建,从右键菜单中选择:新建其他其他 在新弹出的窗口中,选择在新弹出的窗口中,选择“Web”下的下的“JSP”,
36、点击,点击“下一步下一步” 在下一个新弹出的窗口中,输入文件名在下一个新弹出的窗口中,输入文件名index.jsp,点击,点击“完成完成” 演示:使用演示:使用JSP模板向导创建模板向导创建JSP页面页面 参考幻灯 创建新闻发布系统的创建新闻发布系统的JSP页面页面 5-4 手工创建手工创建JSP页面,共有两步:页面,共有两步: 1 2 右键点击右键点击“WebRoot”下的下的“ch04”,选择:新建,选择:新建文件文件 在新弹出的窗口中,输入文件名在新弹出的窗口中,输入文件名index.jsp,点击,点击“完成完成” 演示:手工创建演示:手工创建JSP页面页面 参考幻灯 创建新闻发布系统的
37、创建新闻发布系统的JSP页面页面 5-5 采用你认为最方便的方式,把静态新闻发布系统的所采用你认为最方便的方式,把静态新闻发布系统的所 有页面转换为有页面转换为JSP页面,并部署运行页面,并部署运行 演示:页面转换、并部署运行演示:页面转换、并部署运行 参考幻灯 生活中的欢迎页面生活中的欢迎页面 通常情况下,访问某个网站时,我们只需要知道网站的域通常情况下,访问某个网站时,我们只需要知道网站的域 名就可以了。名就可以了。 比如:比如: 现在看到的就是现在看到的就是 新浪的首页面新浪的首页面 参考幻灯 如何设置欢迎页面如何设置欢迎页面 欢迎页面,就是欢迎页面,就是web应用的默认访问页面应用的默
38、认访问页面 在配置文件在配置文件web.xml中设置欢迎页面中设置欢迎页面 index.jsp 假定在假定在web应用应用(news)下存在一个下存在一个index.jsp页面,页面, 输入输入http:/localhost:8080/news地址时,地址时,web容器会容器会 默认调用默认调用index.jsp页面页面 参考幻灯 JSP 执行过程执行过程 2-1 3 执行执行 2 翻译翻译 编译编译 1 请求请求 响应响应 Web容器处理容器处理JSP文件请求需要经过文件请求需要经过3个阶段:个阶段: 翻译阶段:翻译阶段:JSP文件会被文件会被Web容器中的容器中的JSP引擎转换成引擎转换成
39、Java源码源码 编译阶段:编译阶段:Java源码会被编译成可执行的字节码源码会被编译成可执行的字节码 执行阶段:容器接受了客户端的请求后,执行编译成字节码的执行阶段:容器接受了客户端的请求后,执行编译成字节码的 JSP文件;处理完请求后,容器把生成的页面反馈给客户端进行文件;处理完请求后,容器把生成的页面反馈给客户端进行 显示显示 应用服务应用服务 器器 客户端客户端 JSP文件文件 .java .class 参考幻灯 JSP 执行过程执行过程 2-2 执行执行 第二次请求第二次请求 响应响应 第一次请求之后,第一次请求之后,Web容器可以重用已经编译好的字节容器可以重用已经编译好的字节 码
40、文件码文件 应用服务器应用服务器 客户端客户端 .class 注意:如果对注意:如果对JSP文件进行了修改,文件进行了修改,Web容器会重新对容器会重新对 JSP文件进行翻译和编译文件进行翻译和编译 演示:演示:JSP页面修改前后的响应速度页面修改前后的响应速度 参考幻灯 JSP运行环境运行环境 Web容器(如:容器(如:Tomcat)提供)提供 JSP引擎,负责引擎,负责JSP文件的执行,文件的执行, 提供提供JSP的运行时环境的运行时环境 在在Eclipse中部署中部署Web应用,等应用,等 同于在同于在Web容器中部署容器中部署Web应用应用 与与Eclipse中中Web应用的应用的 目
41、录结构一模一样目录结构一模一样 参考幻灯 小结小结 2 为什么为什么JSP页面在第一次请求时会比较慢,而之后对同页面在第一次请求时会比较慢,而之后对同 样的样的JSP页面的请求会非常快?页面的请求会非常快? 参考幻灯 总结总结 欢迎登录新闻发布系统欢迎登录新闻发布系统 在运行在运行welcome.jsp时,会出现什么现象?如何时,会出现什么现象?如何 改正?改正? 出现中文乱码,出现中文乱码, 把字符集改为:把字符集改为:GBK WEB-INF文件夹中的内容无法对外发布,文件夹中的内容无法对外发布, 把把images文件夹拖至文件夹拖至WebRoot文件夹下文件夹下 参考幻灯 Thank yo
42、u 参考幻灯 JSP指令和脚本元素指令和脚本元素 第五章第五章 47参考幻灯 回顾回顾 为什么第一次请求为什么第一次请求JSP页面时,响应速度比较慢?页面时,响应速度比较慢? JSP文件中,有几种注释方法?格式是什么?文件中,有几种注释方法?格式是什么? 参考幻灯 预习检查预习检查 列举一些列举一些page指令的常用属性,并说明它们的作用指令的常用属性,并说明它们的作用 在在JSP文件中,有几种输出数值的方法(如:输出文件中,有几种输出数值的方法(如:输出10与与 30的乘积)?分别怎样表示?的乘积)?分别怎样表示? 参考幻灯 本章任务本章任务 升级新闻发布系统升级新闻发布系统 显示存储在数据
43、库中的新闻一级标题显示存储在数据库中的新闻一级标题 页面显示效果:页面显示效果: 参考幻灯 掌握掌握page指令的常用属性指令的常用属性 掌握掌握JSP 脚本元素的用法脚本元素的用法 小脚本小脚本 表达式表达式 方法声明方法声明 本章目标本章目标 参考幻灯 为什么需要为什么需要page指令指令 在在Java文件中,通过两种方式引入其它包中的类:文件中,通过两种方式引入其它包中的类: 使用使用import关键字(优点:一次引入,处处使用)关键字(优点:一次引入,处处使用) 使用完全限定的类名(即必须加上包名)使用完全限定的类名(即必须加上包名) 在在Java文件中,如何引入其它包中的类?文件中,
44、如何引入其它包中的类? 在在JSP文件中,同样可以使用文件中,同样可以使用import关键字引入关键字引入Java类文件,一旦引入,整类文件,一旦引入,整 个个JSP文件都可用。文件都可用。 此时,需要使用到此时,需要使用到page指令。指令。 参考幻灯 page指令示例指令示例 输出当前日期输出当前日期 你好,你好,ACCP! 今天是今天是 已经通过已经通过page指令的指令的import 属性引入这些类文件了属性引入这些类文件了 参考幻灯 什么是什么是page指令指令 page指令指令 通过设置内部的多个属性来定义整个页面的属性通过设置内部的多个属性来定义整个页面的属性 语法:语法: pa
45、ge指令常用属性指令常用属性 属性属性描述描述默认值默认值 language指定指定JSP页面使用的脚本语言页面使用的脚本语言java import 通过该属性来引用脚本语言中使用到通过该属性来引用脚本语言中使用到 的类文件的类文件 无无 contentType用来指定用来指定JSP页面所采用的编码方式页面所采用的编码方式 text/html, ISO-8859-1 参考幻灯 小结小结 1 编写一个编写一个JSP,要求:,要求: 向一个向一个ArrayList对象中添加对象中添加10个字符串个字符串 使用使用for循环进行添加,存储内容依次是循环进行添加,存储内容依次是 “第第1个字符个字符
46、串串” 、”第第10个字符串个字符串“ 最后在页面上输出:添加完毕最后在页面上输出:添加完毕 使用使用page指令来引入指令来引入ArrayList类类 JSP页面不能出现中文乱码页面不能出现中文乱码 完整代码实现完整代码实现 参考幻灯 JSP 脚本元素脚本元素 JSP 脚本元素脚本元素 小脚本小脚本 表达式表达式 声明声明 JSP 脚本元素是用来嵌入脚本元素是用来嵌入Java代码的,主要用来实现页代码的,主要用来实现页 面的动态请求面的动态请求 JSP 脚本元素包括:脚本元素包括: 参考幻灯 什么是小脚本什么是小脚本 JSP 小脚本小脚本 就是在就是在JSP页面里嵌入一段页面里嵌入一段Jav
47、a代码代码 语法:语法: 输出当前日期输出当前日期 你好,你好,ACCP! 今天是今天是 out.print负责在页面上负责在页面上 进行输出进行输出 在在JSP中嵌入的中嵌入的 Java代码代码 参考幻灯 小结小结 2 使用两个一维数组分别存储学生姓名、学生成绩使用两个一维数组分别存储学生姓名、学生成绩 在页面中每隔一行输出一名学生的姓名与成绩在页面中每隔一行输出一名学生的姓名与成绩 运行结果示意图运行结果示意图 完整代码实现完整代码实现 参考幻灯 什么是表达式什么是表达式 表达式表达式 表达式是对数据的表示,系统将其作为一个值进行计算和显示表达式是对数据的表示,系统将其作为一个值进行计算和显示 语法:语法: 使用表达式显示数据。使用表达式显示数据。 显然,表达式更有利于在显然,表达式更有利于在 HTML中显示数据中显示数据 12 使用小脚本显示数据使用小脚本显示数据 参考幻灯 小结小结 3 使用一个一维数组存储两个学生的成绩,在页面中输出使用一个一维数组存储两个学生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纵横软件课程设计总结
- 打印报表课程设计
- 吉林省四平市第三高级中学2024-2025学年高一上学期第二次质量检测历史试题
- 甜品糖水教学课程设计
- 茶艺插画课程设计案例
- 物理有没有进展课程设计
- 2024年演员聘用合同
- 电子商务行业客服工作回顾
- 外科部门手术治疗工作年度总结
- 2024年社区工作者测试题库
- 放射治疗技术常用放射治疗设备课件
- 保研推免个人简历
- 《计算机组成原理》武汉大学2023级期末考试试题答案
- 广东广州白云区2021学年第二学期期末学生学业质量诊断调研六年级语文(含答案)
- 公安院校公安专业招生体检表
- 选矿厂管理文件制度汇编
- 2023-2024学年四川省泸州市小学数学四年级上册期末评估测试题
- GB/T 9944-2015不锈钢丝绳
- GB/T 5019.11-2009以云母为基的绝缘材料第11部分:塑型云母板
- 初中生家长会ppt
- GA/T 168-2019法医学机械性损伤尸体检验规范
评论
0/150
提交评论