好久没用JSP+Servlet+JDBC这种组合,可以说自从没有这种作业后就没有这种方式开发了。最近也没怎么学东西,感觉计划都乱了,趁着这个周末写点东西找找感觉。
这次想利用JSP+Servlet+JDBC写个小小的商品展示平台DEMO。功能很简单,就是能够展示商品的类型,然后根据类型展示所属类型的商品就可以了,说是小小的商品展示平台还不如说是一个增删查改的DEMO。
下图是整个项目的结构:
为了方便解耦,使用MVC模式进行开发,这里介绍各个包的作用:
- action 存放的servlet类,负责处理客户端的请求
- dao 存放数据持久层的接口规范
- dao.impl 存放数据持久层接口的实现
- service 存放业务逻辑接口
- service.impl 存放业务逻辑接口的实现
- model 存放的是实体类
- util 存放的是工具类
- test 存放的是测试类
WebContent 下的各个目录:
- resources 存放一些资源文件,如css,js,image等。
- WEB-INF/jsp 存放所有的jsp页面,将jsp存放在WEB-INF下是为安全起见,因为存放在WEB-INF目录下的jsp是无法通过URL直接访问的。
这就是整个项目的结构。
由于是小小DEMO。不想弄的太复杂,整个项目目前设计两个实体类:Type (商品类型)、Goods (商品)
这里的实体类采用贫血模式,不包含业务逻辑。
下面是两个类的代码:
Type.java
1 package model; 2 3 /* 4 * 类型实体 5 */ 6 public class Type { 7 8 private Long id; 9 private String name; 10 11 public Long getId() { 12 return id; 13 } 14 15 public void setId(Long id) { 16 this.id = id; 17 } 18 19 public String getName() { 20 return name; 21 } 22 23 public void setName(String name) { 24 this.name = name; 25 } 26 27 @Override 28 public String toString() { 29 return "Type [id=" + id + ", name=" + name + "]"; 30 } 31 }
Goods.java
1 package model; 2 3 /* 4 * 商品实体 5 */ 6 public class Goods { 7 8 private Long id; 9 private String name; 10 private Double price; 11 private Long tid; // 商品类型(外键) 12 13 public Long getId() { 14 return id; 15 } 16 17 public void setId(Long id) { 18 this.id = id; 19 } 20 21 public String getName() { 22 return name; 23 } 24 25 public void setName(String name) { 26 this.name = name; 27 } 28 29 public Double getPrice() { 30 return price; 31 } 32 33 public void setPrice(Double price) { 34 this.price = price; 35 } 36 37 public Long getTid() { 38 return tid; 39 } 40 41 public void setTid(Long tid) { 42 this.tid = tid; 43 } 44 45 @Override 46 public String toString() { 47 return "Goods [id=" + id + ", name=" + name + ", price=" + price + ", tid=" + tid + "]"; 48 } 49 }
我一般在自己开发的时候习惯先把静态页面先弄好,然后把静态的部分改成动态的就可以了,毕竟这事没有前台帮你做。
这里我利用HBuilder先把展示页面写好了,仅仅是为了展示,所有就没有加上CSS修饰了,界面看起来丑得不是有一点。
下面是商品类型展示页面:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>商品展示平台</title> 6 </head> 7 <body> 8 <div> 9 <div><a href="">添加商品类型</a></div> 10 <!-- 11 作者:[email protected] 12 时间:2015-09-13 13 描述:这些展示内容将被替换成动态的信息 14 --> 15 <div>家电</div> 16 <div>数码</div> 17 </div> 18 </body> 19 </html>
商品展示页面:
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>商品</title> 7 </head> 8 9 <body> 10 <div> 11 <div><a href="">添加商品</a></div> 12 <!-- 13 作者:[email protected] 14 时间:2015-09-13 15 描述:这些展示内容将被替换成动态的信息 16 --> 17 <table> 18 <tr> 19 <th>序号</th> 20 <th>商品名称</th> 21 <th>价格</th> 22 </tr> 23 <tr> 24 <td>1</td> 25 <td>电风扇</td> 26 <td>998</td> 27 </tr> 28 </table> 29 </div> 30 </body> 31 32 </html>
运行界面如下:
这仅仅是静态页面的展示,这里我把动态展示这些信息放在了下一篇博文了。
时间: 2024-10-11 07:42:37