基於JSP+Serlvet+JDBC的開發(1)

來源:互聯網
上載者:User

標籤:

好久沒用JSP+Servlet+JDBC這種組合,可以說自從沒有這種作業後就沒有這種方式開發了。最近也沒怎麼學東西,感覺計劃都亂了,趁著這個周末寫點東西找找感覺。

這次想利用JSP+Servlet+JDBC寫個小小的商品展示平台DEMO。功能很簡單,就是能夠展示商品的類型,然後根據類型展示所屬類型的商品就可以了,說是小小的商品展示平台還不如說是一個增刪查改的DEMO。

是整個項目的結構:

 

為了方便解耦,使用MVC模式進行開發,這裡介紹各個包的作用:

  1. action 存放的servlet類,負責處理用戶端的請求
  2. dao 存放資料持久層的介面規範
  3. dao.impl 存放資料持久層介面的實現
  4. service 存放商務邏輯介面
  5. service.impl 存放商務邏輯介面的實現
  6. model 存放的是實體類
  7. util 存放的是工具類
  8. test 存放的是測試類別

WebContent 下的各個目錄:

  1. resources 存放一些資源檔,如css,js,image等。
  2. 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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.