1、前台和后台的关系:

后台是由工作人员操作的,通过后台系统对数据库实行增删改查等操作,通过前台系统访问数据库,将数据库中的信息通过前台显示。

2、功能实现:

(1)显示全部商品信息:

home.jsp由其他jsp组成,其中的left.jsp能够访问Servlet,并从Servlet获取数据,而在其访问Servlet时,Servlet需要调用Service层的方法,Service层的方法调用dao层的方法,dao层则可以直接通过sql语句访问数据库。并将查询到的数据返回到Service层,Service层的数据又返回给web层,web层的数据被封装到request域中,通过request请求转发,request域中的数据通过jsp中的EL技术将数据取出,由jsp页面显示出来。

(2)读取分类信息的实现:

在进入list.jsp提供的页面后,点击“添加”按钮,会访问到web层的AdminAddCommodityServlet,向AdminAddCommodityServlet请求数据,最终,在AdminAddCommodityServlet中将数据封装到Request域,并通过请求转发访问add.jsp,将request域中的数据通过EL取出来,通过JSP页面进行显示。

(3)增加商品信息:

在点击List.jsp的添加按钮后,jsp访问AddProduceServlet,AddProduceServlet通过Service层和dao层将数据写入到数据库,然后从AddProduceServlet重定向到AdminCommodityServlet,获数据库中的信息,并将信息通过list.jsp显示出来。

4、删除功能:

List.jsp可以根据点击的删除标记的位置确定要删除的商品的pid,AdminDelCommodityServlet获取到jsp中的此pid,作为参数依次传递给Service层,dao层,最终将数据库中有此pid的商品删除。

5、商品信息的回显(商品信息修改的一部分)

要想修改某一商品的信息,必须先要获取到该商品未修改时的信息。为了实现修改商品所属分类的功能,必须先要从数据库中获取商品所有的分类,并从edit页面中显示出来。为了实现修改其他信息的功能,需要查询商品所有的属性,并通过edit.jsp显示出来。web层的AdminEditServlet里面需要从Service层中获取调用两个方法,分别获取到商品的属性信息和商品的所有类别信息,并封装到request域,通过请求转发将request域中的数据流向edit.jsp,通过EL技术将request域中的数据显示出来。

6、修改商品信息:

通过List.jsp访问AdminEditServlet查询商品的相关信息,并重定向到edit.jsp,在此jsp中,取出request域中的数据进行显示,在edit.jsp中可以对商品的信息进行修改,通过Service层和dao层将数据写到数据库,再重UpdateServlet重定向到AdminCommodityServlet,此Servlet通过Service层和dao层取出数据库中的全部商品信息,封装到request域中,并通过List.jsp显示所有的商品信息。

最新文章

  1. 关于selenium的CI、框架……
  2. apache 反向代理配置
  3. [转载]堆排序(HeapSort) Java实现
  4. wamp下修改mysql root用户的登录密码
  5. HTTP协议中的长连接和短连接(keep-alive状态)
  6. PowerMock简介
  7. Lucida Grande字体无法正常显示冒号的解决方案
  8. http://www.cnbc.com/2016/07/12/tensions-in-south-china-sea-to-persist-even-after-court-ruling.html
  9. JNI的替代者—使用JNA访问Java外部功能接口
  10. (译)"usermod"命令使用完全指导---15个练习例程截图
  11. python 面向对象编程(二)
  12. 状态压缩 - LeetCode #464 Can I Win
  13. 《.NET 设计规范》第 9 章:常用的设计模式
  14. scala程序开发入门
  15. js常用的正则表达式
  16. codechef Row and Column Operations 题解
  17. 使用 NodeJS + Express 從 GET/POST Request 取值 -摘自网络
  18. Hadoop基础总结
  19. C++ socket网络爬虫(1)
  20. Linux及安全实践四——ELF文件格式分析

热门文章

  1. Flanne
  2. 微信小程序文档
  3. selenium中的元素操作之三大切换(二)
  4. port: ${SERVER_PORT:9190} #首先取环境变量,如果环境变量中没有,就取 9190 这个固定值
  5. Charles配置https
  6. python class 中__next__用法
  7. 百度地图 libBaiduMapSDK_base_v4_2_1.so" is 32-bit instead of 64-bit错误
  8. 报错:failed to get the task for process XXX(解决方案)
  9. OC中并发编程的相关API和面临的挑战
  10. Mac 指令