正文之前

在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统

目前项目源码已全部上传至GitHub,欢迎大家来fork —— 商品信息管理系统

正文

项目构思

简易的管理系统,结构为 Servlet + JSP + MySQL,使用IntelliJ IDEA,搭建起了这个项目,源码中有很详细的注释,如果刚开始学习JavaWeb的内容,学一下Servlet,再搭配这个项目,岂不是美滋滋,有需要就拿去,如果能够有帮助,在fork的同时也赏一个Star吧!

接下来就介绍一下过程:

1. 数据库连接

在这个项目中,并不是单独编写Java程序来连接数据库,而是使用c3p0-config.xml文件来配置数据库连接池,使用 QueryRunner 来执行数据库操作

在运行项目之前,需要在图中所示文件中设置你自己的本地数据库名称和密码,否则,无法连接数据库

2. JAR文件

在构建项目时,需要导入所需的Library

3. 建表

在创建数据库时,也需要一张表来配合运行项目,在项目中也给出了这张表的结构

4. 建包

采用MVC设计模式,建包时我分成了这几个方面:

dao

page

product

service

servlet

以及在测试时的用例:demo

接下来介绍这几个包的内容:

dao包:

内含有一个Java文件:ProductDao,编写对于数据库的操作,增删改查之类

page包:

查询后的数据需要分页显示,否则看起来很麻烦,page包中包含有一个Java文件:PageBean,配合content.jsp文件将查询结果分页显示

product包:

内含有Product类,将商品的基本信息封装,便于其他类使用

service包

内含有一个Java文件:ProductService,实现了ProductDao类中定义的方法,并封装,降低程序中的代码重复性,更加简洁

servlet包

内含有ProductServlet,实现了ProductService类中定义的方法,并和JSP页面进行通信

demo包

在完成项目后,需要测试用例来进行测试

5. MVC模式

MVC模式:Model,View,Controller:

Model:ProductDao类,PageBean类和Product类作为基本的模型

View:JSP文件,系统的页面

Controller:ProductServlet,作为用户输入和数据库操作的控制者

这样就使得代码较为简洁

6. 运行前需要的准备

在Github上fork项目,并且clone至本地后,用IDEA打开,并按照这篇配置教程来配置web项目

【JavaWeb】IDEA如何创建及配置Web项目(多图)

配置后,将src目录下的 c3p0-config.xml 文件中的数据库信息改为自己的数据库信息,运行Tomcat,岂不是美滋滋。

##### 7. 思维导图

结合这篇文章和项目根目录中的 README.md 文档,开始自己的JavaWeb之旅吧!

java商品管理系统_【Java Web】简易商品信息管理系统——首个Web项目相关推荐

  1. java实现家教管理系统_基于jsp的家教信息管理系统-JavaEE实现家教信息管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的家教信息管理系统, 该项目可用各类java课程设计大作业中, 家教信息管理系统的系统架构分为前后台两部分, 最终实 ...

  2. python制作学生管理系统_Python——面向对象,简易学生信息管理系统

    一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...

  3. python课题设计职工信息管理系统_用Python实现职工信息管理系统

    想要实现一个职工管理系统 首先我们看一下想要实现什么功能 最基础的增删改查肯定要实现的 然后增加一下数据显示.数据排序.数据统计功能 下面直接上代码 增加职工数据 # 接收用户收入 id = inpu ...

  4. java毕业设计_基于web的医院信息管理系统

    基于web的医院信息管理系统mysql数据库创建语句 基于web的医院信息管理系统oracle数据库创建语句 基于web的医院信息管理系统sqlserver数据库创建语句 基于web的医院信息管理系统 ...

  5. 学生信息管理系统java的总结,基于Java web的学生信息管理系统

    源码编号:B-E00012  点击查看分类规则 项目类型:Java EE项目(java web项目) 项目名称:基于java web的学生信息管理系统(StudentManagerWeb) 当前版本: ...

  6. 初学Java,先搞懂第一个程序-----简易用户信息管理系统

    初学Java!!!一定要搞懂第一个程序-----简易用户信息管理系统 用户需求 ①实现用户信息添加,包括用户名.年龄.爱好.冻结状态: ②查询指定用户信息,根据用户名查询指定用户的信息是否在用户数据库 ...

  7. 基于Java毕业设计疫情下的进出口食品安全信息管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计疫情下的进出口食品安全信息管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计疫情下的进出口食品安全信息管理系统源码+系统+mysql+lw文档+部署软件 本源 ...

  8. JAVA计算机毕业设计预装箱式净水站可视化信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计预装箱式净水站可视化信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计预装箱式净水站可视化信息管理系统Mybatis+源码+数据库+lw文 ...

  9. java计算机毕业设计预装箱式净水站可视化信息管理系统源码+数据库+系统+lw文档+部署

    java计算机毕业设计预装箱式净水站可视化信息管理系统源码+数据库+系统+lw文档+部署 java计算机毕业设计预装箱式净水站可视化信息管理系统源码+数据库+系统+lw文档+部署 本源码技术栈: 项目 ...

  10. java毕业生设计预装箱式净水站可视化信息管理系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计预装箱式净水站可视化信息管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计预装箱式净水站可视化信息管理系统计算机源码+系统+mysql+调试部署+lw 本源码技 ...

最新文章

  1. 有没搞错?Java 对象不使用时要赋值为 null?
  2. python的执行过程_在交互式环境中执行Python程序过程详解
  3. python字典进行大写转化_python之字典的增删改查
  4. 编写原生的Node.js模块
  5. oracle系统库名,Oracle 札记之 一:数据库名,数据库实例名,数据库域名,操作系统环境变量...
  6. visual studio 没有属性页_驯龙物语10月14日更新|新增快捷购买页签
  7. 计算机网络(十六)-轮询访问介质访问控制
  8. Java定时任务解决方案
  9. 网站微信扫码登录回调不跳转问题
  10. SQL Server中默认的数据库及作用
  11. kali linux网卡推荐,BT5 Kali Linux 网卡选择
  12. 分享| 电脑设置双屏或多屏显示2种简单方法,你能学会几种?
  13. php实现一个简单的访客统计功能
  14. 《元宇宙十大技术》感谢乔卫兵等6位为出版做出巨大贡献
  15. duilib 关于wke 控件焦点问题
  16. 图像配准融合(一)——基于互信息的图像配准方法(c++)
  17. 使用设计模式出任CEO迎娶白富美(6)–冬日暖阳,二毛茶一壶
  18. STM32F407和DP83848芯片RMII模式硬件电路图参考
  19. 快手打开后不显示画面_快手怎么让别人看不见我发了作品
  20. java怎么调epass3003,Snooper.Spec-003-apdu脚本_taoism版.pdf

热门文章

  1. windows系统改装为linux系统_Linux怎么克隆系统?备份系统跟Windows系统有区别吗?...
  2. python语言逆序符号_python的逆序
  3. 打印更无缝:微软改善Win11中通用打印体验
  4. 如何管理QQ浏览器的扩展工具 QQ浏览器扩展工具的管理方法
  5. php 的不等于符号,mysql 不等于 符号写法
  6. SpringCloud 超详细个人笔记
  7. Java啤酒生产系统描述_Java描述设计模式(03):工厂方法模式
  8. mysql 时间戳 2038_mysql数据库的timestamp为什么从1970到2038的某一时间?某一时间是指什么时间?过了这个时间之后怎么办?-问答-阿里云开发者社区-阿里云...
  9. 电脑时间校对器_笔记本电脑如何保养?华为教你五招轻松延长使用时间
  10. linux svn 指定端口号,linux(Ubuntu)搭建Subversion服务器+修改svn端口号