標籤:
好久沒用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 @Override28 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 @Override46 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-1313 描述:這些展示內容將被替換成動態資訊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-1315 描述:這些展示內容將被替換成動態資訊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>
運行介面如下:
這僅僅是靜態頁面的展示,這裡我把動態展示這些資訊放在了下一篇博文了。
基於JSP+Serlvet+JDBC的開發(1)