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