教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

北京工业大学 网络编程基础课设 报告(2)

来源:网络收集 时间:2026-10-03
导读: 6、动态模型: 7、EJB接口设计: 7.1、BookinfoFacade管理图书信息(封装数据库) 7.1.1、search(String key) 描述:根据关键字从数据库中查找图书信息记录(数组); 条件:书名、作者或出版社中包含关键字; 具体

6、动态模型:

7、EJB接口设计:

7.1、BookinfoFacade管理图书信息(封装数据库)

7.1.1、search(String key)

描述:根据关键字从数据库中查找图书信息记录(数组); 条件:书名、作者或出版社中包含关键字; 具体实现: @Override

public ArrayList<Bookinfo> search(String key) { List<Bookinfo> all = this.findAll(); if(all.isEmpty()) { return null; }

北京工业大学(北工大) 计算机学院 计算机科学与技术 实验/课程设计 报告/心得/总结/预习报告

ArrayList<Bookinfo> result=new ArrayList<Bookinfo>() ; for(Bookinfo current : all) {

if(current.getTitle().toLowerCase().contains(key)||current.getAuthor().toLowerCase().contains(key)||current.getPress().toLowerCase().contains(key)) { result.add(current); } }

return result; }

7.1.2、find(String isbn)

描述:根据书号(主键),找出图书信息记录; 具体实现:由系统自动生成。

7.2、CartBean管理购物车信息(本次会话有效)

7.2.1、add(String isbn) 添加记录

描述:向购物车添加一条记录 具体实现: @Override

public void add(String isbn, String title, double price, int number) { cartList.add(new CartBean(isbn, title, price, number)); }

7.2.2、gets() 获得购物车的全部记录

具体实现: @Override

public ArrayList<CartBean> gets() {

ArrayList<CartBean> result = new ArrayList<CartBean>(); for (CartBean current : cartList) {

result.add(new CartBean(current.getIsbn(), current.getTitle(), current.getPrice(), current.getNumber())); }

return result;

} 7.2.3、set(String isbn, int num) 设置购买数量 具体实现: @Override

public void set(String isbn, int number) { for (CartBean current : cartList) {

if (current.getIsbn().equals(isbn)) { current.setNumber(number);

北京工业大学(北工大) 计算机学院 计算机科学与技术 实验/课程设计 报告/心得/总结/预习报告

}

}

7.2.4、exists(String isbn) 查询购物车中是否已经存在此种商品 具体实现:

@Override

public boolean exists(String isbn) { for (CartBean current : cartList) {

if (current.getIsbn().equals(isbn)) { return true; } }

return false;

}

8、控制器(CtrlServlet)的输入信息: 8.1、来自查询页

page=”search”&key=关键字

8.2、来自图书目录页

page=”directory”&submit=”cart”&choose=书号拼接字符串 page=”directory”&submit=”search”

8.3、来自购物车页

page=”cart”&submit=”order” page=”cart”&submit=”continue” page=”cart”&submit=”search”

9、控制器算法概要:

9.1、模糊查询search

描述:按照key从Bookinfo查找图书,将查询结果命名为directory保存在session中,并重定向到Directory.jsp中。 具体实现:

//index->Directory,根据关键字构造查询结果

if (request.getParameter("page").equals("index")) { key = request.getParameter("key");

//将根据关键字查询到的结果存到session中 request.getSession().setAttribute("directory", bookinfoFacade.search(key.toLowerCase()));

response.sendRedirect("Directory.jsp");

北京工业大学(北工大) 计算机学院 计算机科学与技术 实验/课程设计 报告/心得/总结/预习报告

9.2、查看购物车

描述:根据选定的图书对应的checkbox的选定情况构造chooses书号拼接字符串,然后在CtrlServlet中根据空格分割,调用cartBean.exists(String isbn)方法检测购物车中是否已存在次图书。在购物车中不存在此商品的情况下根据isbn号调用bookinfoFacade.find(String isbn)找到对应的图书信息存入CartBean,并重定向到Cart.jsp中。 具体实现:

//Directory->Cart将所选的书籍添加到购物车中

else if (request.getParameter("page").equals("Directory")

&& request.getParameter("submit").equals("cart")) { String choose = request.getParameter("chooses"); String[] chooses = choose.split(" "); for (int i = 0; i < chooses.length; i++) { if (!cartBean.exists(chooses[i])) {

cartBean.add(chooses[i], bookinfoFacade.find(chooses[i]).getTitle(), bookinfoFacade.find(chooses[i]).getPrice(), 1); } }

request.getSession().setAttribute("cart", cartBean.gets()); response.sendRedirect("Cart.jsp"); }

9.3、结算

描述:根据用户输入的图书数量更新CartBean中对应的图书的数量信息,并将address信息以address为名存储到session中,重定向到Order.jsp页面。 具体实现:

//Cart->Order,购物车生成订单

else if (request.getParameter("page").equals("Cart")

&& request.getParameter("submit").equals("order")) { Enumeration names = request.getParameterNames(); while (names.hasMoreElements()) {

String name = (String) names.nextElement(); if (!name.equals("page") && !name.equals("submit") && !name.equals("address")) {

for (int i = 0; i < request.getParameter(name).length(); i++) {

if (!Character.isDigit(request.getParameter(name).charAt(i))) { response.sendRedirect("Cart.jsp");

//这里必须终止处理请求,否则会出错TODO:Why? return; } }

this.cartBean.set(name, Integer.valueOf(request.getParameter(name))); }

北京工业大学(北工大) 计算机学院 计算机科学与技术 实验/课程设计 报告/心得/总结/预习报告

}

request.getSession().setAttribute("cart", this.cartBean.gets()); request.getSession().setAttribute("address", request.getParameter("address"));

response.sendRedi …… 此处隐藏:3255字,全部文档内容请下载后查看。喜欢就下载吧 ……

北京工业大学 网络编程基础课设 报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/111583.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)