A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

常小天
今天的主要内容就是一个商品信息操作的案例。使用的基本都是之前学习过的内容,没有新添加什么知识点,所以今天的总结就只是对这个案例的思路的整理。
本案例需要使用的jar包有mysql驱动包1个、C3P0的包1个、DBUtils的包1个、BeanUtils的包2个、JSTL的包2个。在准备好数据库和表记录后需要一个首页的jsp。还要准备一个product的类。下面根据不同功能来总结一下他们的思路。
查询所以商品。点击首页的连接,发送请求到servlet,在servlet中直接调用service的方法,在调用DAO的方法执行查询的SQL语句,将结果封装成List返回,元素为一个个product。在servlet中将List存进request域中,转发到商品显示的jsp页面,在这个页面中将List从域中取出,遍历并将信息存进列表。
添加商品信息。点击添加按钮,跳转到添加信息的jsp页面,填写完信息后点击提交将信息提交至servlet,在servlet中调用业务层在调用DAO执行SQL语句向数据库中添加一条记录。添加成功后跳转至查询所有商品的servlet,由这个servlet在跳转至商品显示的jsp页面。这里需要处理一个重复提交的问题。方法是使用令牌。在商品信息填写完成后会生成一个id存入商品的隐藏字段中,同时将该id存入session。信息提交至servlet后,servlet分别从session和传入的参数中获得这个id进行比对,比对一致则执行添加操作,不一致则跳转至其他页面不执行添加操作。在获得session中的id并完成赋值后就清除session中的id,这样,当重复提交的时候,表单传入的参数中的id就与servlet从session中获得的id不同,从而避免重复提交。
商品信息的修改。点击修改按钮,提交商品id至servlet,servlet根据id调用业务层调用DAO在数据库中查询到这条信息并返回。Servlet将信息存进域中跳转至修改信息页面,jsp从域中取出信息并填写进表格。信息修改完成后,点击提交,表单信息(包括id)提交至servlet,servlet根据id将信息覆盖到指定id的记录中。
商品信息的删除。点击商品信息栏内的删除按钮,将本条商品id发送至servlet,servlet根据id删除数据库中的该条记录。在商品信息栏中增加一个复选框,并实现全选功能。添加一个删除按钮用于批量删除商品信息。提交信息至servlet,servlet获取包含复选框信息的相应数组。遍历数组并删除每一条信息。
商品的模糊查询。在商品列表页面的文本框内输入信息并点击查询,提交表单信息至servlet,servlet获取文本框的信息后,作为参数传递给DAO方法,使用SQL中的like关键字进行模糊查询,将查询的记录封装进集合并返回。Servlet将集合存进域中并跳转至商品列表页面,jsp获得域中的集合并遍历,将信息填进表格即可。
商品的分页查询。通过limit关键字实现部分查询。Limit后面需要两个参数,第一个是查询开始的地方,即从那一条开始查询,只是索引从0开始这一点需要注意。第二个参数是单次查询的信息数目,即向后查询多少条。前台页面将要跳转的页面页数提交给后台,后台获得页数,并且从数据库查询得到信息总数,设定好每一页显示的信息条数,也就是单次查询的信息数目,借助向上取整函数算出总页数,“要跳转的页数-1*单次查询信息数目”获得limit的第一个参数,然后执行SQL进行查询,将查询结果存进集合并返回。可在业务层将这些信息封装进一个pageBean对象再返回,servlet将pageBean对象存进域中并跳转至商品列表页面,jsp从域中获得pageBean对象并在页面中显示。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马