基于Servlet的会话跟踪(1)
第三章上机基于Servlet的会话跟踪(一)
基于Servlet的会话跟踪(1)
相关回顾
如何对SqlServer数据库进行连接和访问? 如何创建Session对象? 如何操纵Session中的对象?
基于Servlet的会话跟踪(1)
上机目标
升级网上订餐系统,实现如下功能点击餐品图片、餐 1、建立对数据库的连接和访问 餐品内容从数据 品名称或‘详情’ 2、实现餐品展示页面从数据库中读取并显示餐品信息 库中动态读取 按钮,会跳转到餐 品详细信息页面 /ch03/details.jsp
教员讲解上机目标
基于Servlet的会话跟踪(1)
训练技能点
数据库的建立、连接和访问 Session对象的创建 操纵Session中的对象
基于Servlet的会话跟踪(1)
阶段1
开发环境准备1、在restrant工程/src目录下建立/ch03目录 2、在restrant工程/webRoot目录下建立/ch03目录 3、在/webRoot目录下,将/ch02目录下除error.jsp外的所有文件复 制到/ch03目录中
开发环境准备
基于Servlet的会话跟踪(1)
阶段2
训练要点:数据库的建立和连接
需求说明:1、建立网上订餐系统数据库环境 2、建立数据库连接
讲解需求说明
基于Servlet的会话跟踪(1)
阶段2
实现思路及关键代码:
// 根据类中定义的数据库 连接参数,取得数据库连 接
1、在SqlServer查询分析器中导入建库脚本(教员提供)
2、在restrant工程中导入SqlServer的JDBC驱动(教员提供)3、网上订餐系统数据库连接类 (阶段3完成)Class.forName(DRIVER_CLASS); Connection dbConnection = DriverManager.getConnection( DATABASE_URL,DATABASE_USRE, DATABASE_PASSWORD);
讲解实现思路和关键代码 完成时间:10分钟
基于Servlet的会话跟踪(1)
阶段3
需求说明:1、创建网上订餐系统数据库连接类DBConnection.java 2、创建网上订餐系统餐品信息类FoodBean.java
DBConnection.java FoodBean.java完成时间:20分钟
基于Servlet的会话跟踪(1)
阶段3
共性问题集中讲解
常见调试问题及解决办法 代码规范问题
基于Servlet的会话跟踪(1)
阶段4
训练要点:数据库访问
需求说明:网上订餐系统-餐品数据库信息访问类实现思路
讲解需求说明
基于Servlet的会话跟踪(1)
阶段4// 用上阶段编写的数据库 连接类取得数据库连接
实现思路及关键代码:1、取得数据库连接
// 将查询到的数据集放入 ResultSet对象中
Connection connection = DBConnection.getConnction();
2、从数据库foodInfo表中得到数据集PrepareStatement foodsQuery = connection.prepareStatement( "SELECT * FROM foodInfo ORDER BY foodID"); ResultSet results = foodsQuery.executeQuery();
讲解实现思路和关键代码
基于Servlet的会话跟踪(1)
阶段4// 将行数据封装在 // 将FoodBean对象保存在 FoodBean对象中 // 从数据集中逐行读取行数据 列表中
实现思路及关键代码:3、逐行读取行数据,放入列表中while (results.next()) { FoodBean food = new FoodBean(); ...... foodsList.add(food);
基于Servlet的会话跟踪(1)
阶段5
需求说明:实现网上订餐系统-餐品数据库信息访问类 - - GetDataBean.java
GetDataBean.java完成时间:25分钟
基于Servlet的会话跟踪(1)
阶段6
训练要点:1、session对象的创建 2、操纵session中对象
需求说明:网上订餐系统餐品展示页面实现思路
讲解需求说明
基于Servlet的会话跟踪(1)
阶段6// 将从数据库读取的餐品 // 将餐品列表foods存入 // 定义餐品信息访问类 集放入foods列表中 Session中
实现思路及关键代码:
1、用餐品数据库信息访问类从数据库中读取餐品集GetDataBean getDataBean = new GetDataBean(); List foods = getDataBean.getFoods(); HttpSession session.setAttribute("foods", foods);
// 从foods列表中逐个读取 餐品,在页面中进行显示
2、页面中进行显示餐品各项信息for (int i = 0; i < foods.size(); i++) { ...... 餐品编号:<%=currentFood.getFoodID()%> 餐品名称:<%=currentFood.getFoodName()%> ...... }
基于Servlet的会话跟踪(1)
阶段6
实现思路及关键代码:
// 传入foodID参数,跳转到餐 品详细信息页面details.jsp
3、点击餐品名称后,以弹出页面形式跳转到餐品详细页面,并传入 foodID参数<a href="details.jsp?foodID=<%=currentFood.getFoodID()%>" target=_blank> <%=currentFood.getFoodName()%></a>
讲解实现思路和关键代码
基于Servlet的会话跟踪(1)
阶段7
需求说明:点击餐品图片、餐 按阶段4中的实现思路实现网上订餐系统餐品展示页面 餐品内容从数据 品名称或’详情’ /ch03/show.jsp 库中动态读取 按钮,会跳转到餐 品详细信息页面 /ch03/details.jsp
show.jsp
完成时间:25分钟
基于Servlet的会话跟踪(1)
阶段7
共性问题集中讲解
常见调试问题及解决办法 代码规范问题
基于Servlet的会话跟踪(1)
总结
总结并布置作业
基于Servlet的会话跟踪(1)