薛倩
基于 JSP 技術企業動態網站系統設計與實現
薛倩
為了宣傳企業產品,拓展業務往來,從而提升企業業績,樹立企業品牌,進行企業動態網站系統設計與實現。在比較目前較流行的 Web 開發技術的基礎上,選擇基于 JSP 技術進行系統開發,重點分析了系統開發所涉及的 B/S、JSP、Web應用服務器和數據庫連接技術要點。根據企業需求分析,詳細設計了系統功能結構和數據庫,以系統產品模塊實現為例,最終完成企業動態網站系統的建設。系統提供企業展示及信息交流平臺,對于企業宣傳具有良好的效果。
JSP;企業宣傳;企業網站;B/S 結構;JDBC 技術
網站可以樹立企業形象,宣傳企業產品,提高企業的知名度和品牌。企業建立網站,是企業在網絡時代展現自身實力和尋求發展的重要途徑[1]。企業利用 Internet 通過網站把產品或服務的信息發向全世界的每個角落,具有成本低廉、快速方便、信息豐富、形象生動、更新及時、視覺效果突出等特點。
同時網站還可以幫助企業拓展業務往來,進一步挖掘潛在客戶,從而提高企業業績。由于網站不受時空限制,一方面能夠及時、全面地向客戶提供信息查詢,使客戶了解公司的業務范圍和最新產品,吸引潛在客戶,主動搶占商機。另一方面企業通過網站與客戶建立實時的溝通交流渠道,及時幫助客戶解決產品使用過程中遇到的問題,提升客戶滿意度,使更多的客戶愿意購買和使用該企業的產品。
網站對企業的宣傳具有重要的意義,為此研究企業動態網站系統的設計與實現。
1.1 開發技術選擇
企業網站要提供信息查詢、在線聊天和留言板等與客戶交流互動的服務,其中包含客戶私人信息的注冊登錄等環節,這就需要系統具有高效的運行速率和高度的安全可靠性。如今比較流行的 web 應用開發技術主要有:ASP(Active Sever Pages)、ASP.NET、PHP(Hypertext Preprocessor)和 JSP(Java Server Pages)。其中 JSP 技術是當前較為熱門的Web 開發技術[2],主要用于實現動態交互網站建設和開發服務器端的腳本程序設計。同 ASP 比較,JSP 具有的運行效率高、安全性高、擴展性強等特點。相比 ASP.NET,JSP 具備不受跨平臺限制的優勢,且易于維護和管理。同時不像PHP因缺乏多層次結構,數據庫接口支持不統一,使得程序移植性較差,只適用于中小型網站的開發,相反 JSP 是一款備受企業級的公司及銀行金融機構關注的大型商務網站開發技術。因此,選擇基于 JSP 技術進行企業網站系統的開發。
1.2 系統開發技術介紹
1.2.1 B/S(Browser/Server)結構
B/S 結 構 是 隨 著 Internet 技 術 的 發 展 , 在 C/S(Client/Server)結構的基礎上應用拓展的一種結構。B/S結構借助于廣域網進行工作,極少部分事務邏輯通過前端瀏覽器來實現,結構的核心部分集中在服務器上,瀏覽器端與服務器端采用請求/響應模式進行交互?;?B/S 結構開發的網站可以動態輸出,在線更新網頁內容,同用戶進行實時交互。采用 B/S 結構開發的系統具有開發簡單、客戶端操作容易、系統維護升級方便、軟件重用性高等優點,B/S 結構已成為 Web 應用開發的主流模式[3]。
1.2.2 JSP 技術
JSP 技術是由 Sun 公司發布的一種開放的,跨平臺的用于開發動態 Web 應用的一項技術,以 B/S 結構為基礎,由應用服務器中的 JSP 引擎來編譯和執行來自瀏覽器客戶端的請求,訪問數據庫,將響應的結果生成頁面信息返回給客戶端。其技術特點是開發的程序能夠在任何 Web 或應用程序服務器上運行,且 Web 服務器、平臺及其他的組件升級或切換較容易[4],同時開發和測試周期短,簡化了開發基于Web 的交互式應用程序的過程。JSP 工作過程如圖1 所示:

圖1 JSP 工作過程
1.2.3 Tomcat服務器
Tomcat服務器是一個免費的開放源代碼的 Web 應用服務器,實現了 JSP 及其相關組件的規范,是開發和調試 JSP程序的首選。因其技術先進、性能穩定,而且免費,成為目前較流行的 Web應用服務器。
1.2.4 JDBC(Java Data Base Connectivity)技術
JDBC 技術是 Java 與數據庫互連技術,通過定義一組API(Application Programming Interface)的對象和方法同數據庫進行交互,具體過程為 JDBC API 接口通過 java.sql包中的 java.sql.DriverManager 來載入針對各種不同數據庫的驅動,對數據庫連接提供支持,并通過底層不同的 JDBC 驅動程序來連接各種不同的數據庫。進而實現與數據庫建立連接、發送數據庫操作語句到數據庫中、處理數據并得到結果集。JDBC 工作原理如圖2 所示:

圖2 JDBC 工作原理
JDBC驅動由各類數據庫廠商提供,驅動的方式有兩種:一種是適用于個人開發與測試的 JDBC-ODBC 橋連方式,另一種是多用于生產型開發的純 Java 驅動方式。純 Java 驅動由 JDBC 驅動直接訪問數據庫,其優點是速度快而且可跨平臺,前提是訪問不同的數據庫需要下載專用的 JDBC 驅動。
2.1 系統功能結構設計
系統在功能結構設計中立足于企業宣傳這一核心,分析該類企業的需求,針對企業廣泛存在業務擴展及客戶聚增的特點,急需開發一個企業展示及交流平臺,以便客戶了解公司業務范圍和最新產品,及時反饋產品使用情況,達到產品宣傳、拓展客戶、提升業績、打造品牌的作用。因此,設計的功能模塊主要包含以下5個方面:產品模塊、聊天模塊、管理模塊、發帖模塊、新聞模塊。網站系統功能結構如圖3所示:

圖3 網站系統功能結構
產品模塊:包含產品列表和產品詳情。產品列表用于分頁羅列每個產品的概要信息,并能鏈接至產品詳情。產品詳情詳細介紹了產品的功能、型號、價格、特點、技術應用、使用說明等。
聊天模塊:實現會員注冊、登錄和聊天功能。對于新客戶需要注冊會員,注冊信息保存至數據庫,會員經身份驗證登錄后方可進入聊天室。
管理模塊:用于后臺信息維護,主要實現對客戶、產品、新聞信息的增、刪、改、查功能,包含客戶管理、產品管理和新聞管理。
發帖模塊:包括發帖瀏覽、新增貼、回帖3個子項。發帖瀏覽用于分頁顯示所有帖子列表,通過帖子標題可以鏈接到回帖子項。新增貼用于客戶留言?;靥糜陲@示一條帖子的標題和內容,以及所有有關該帖的回復內容,并提供回帖界面和提交功能。
新聞模塊:同產品模塊功能類似,包含新聞列表和新聞內容。新聞列表可以從發布時間最新的開始分頁顯示每條新聞的標題,并能鏈接至新聞內容。新聞內容顯示當前新聞的詳細信息。
2.2 系統數據庫設計
數據庫設計是將數據庫中的數據實體以及這些數據實體之間關系,進行規劃和結構化的過程[5]。首先,進行需求分析,收集企業宣傳網站業務和數據處理信息,得到網站系統涉及的實體有客戶、產品、新聞、發的留言帖和回復留言的帖子。其次,根據每個實體需要存儲的詳細信息確定其屬性,標識各實體之間關系,得到 E-R(Entity-Relationship)實體-關系模型,進而轉化設計出 5 張表,分別為客戶信息表、產品信息表、新聞表、發帖表和回帖表。數據庫5張表的結構如圖4所示:


圖4 數據庫表結構設計圖
3.1 開發環境
系統采用 B/S 結構,以 Apache Tomcat 7.0 作為應用服務器,SQL Server 2005 作為數據庫服務器,使用集成開發工具 MyEclipse8.0,基于 JSP 技術進行網絡應用程序的開發,以 JDBC 的純 Java 方式直接連接訪問數據庫。
3.2 根據數據庫創建實體類
根據系統數據庫設計出的客戶信息表、產品信息表、新聞表、發帖表和回帖表分別創建對應的實體類。實體類的作用是依據面向對象的原則描述一個業務實體,其中封裝了實體的各項屬性[6]。其中產品表對應的實體類部分代碼如下所示:
public class Product {
private int productID;
private String name;
private String model;
private String characteristic;
…
public int getProductID() {
return productID;
}
public void setProductID(int productID) {
this.productID = productID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getCharacteristic() {
return characteristic;
}
public void setCharacteristic(String characteristic) {
this.characteristic = characteristic;
}
…
3.3 數據庫訪問公共類的實現
數據庫訪問公共類是系統自定義的數據庫底層操作類,主要用來提供獲取數據庫連接對象方法、數據庫增、刪、改、查操作方法、關閉結果集、聲明和連接等方法。由于網站系統需要訪問多張數據庫表,這樣就需要為每張表提供一個訪問操作業務類,如果提前寫好一個數據庫訪問公共類,并將數據庫訪問的常用基本操作方法包含其中,讓每張表的業務類都繼承這個基類,就可以省略很多相同的數據庫底層操作代碼,從而減少程序的冗余,使得業務類更加規范、可擴展性也更強。系統采用純 Java 驅動方式的 JDBC 技術直接訪問數據庫,數據庫名稱 enterpriseDB,數據庫用戶名和密碼均為 sa。系統數據庫訪問公共類部分代碼如下所示:
public class BaseDao {
public final static String DRIVER = "com.microsoft.sqlserv er.jdbc.SQLServerDriver";
public final static String URL = "jdbc:sqlserver://localhost: 1433;DataBaseName=enterpriseDB";
public final static String DBNAME = "sa";
public final static String DBPASS = "sa";
public Connection getConn() throws ClassNotFoundExcepti on, SQLException{
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URL,DBN AME,DBPASS);
return conn ;
}
public void closeAll( Connection conn, PreparedStatement
pstmt, ResultSet rs ) {
if(rs != null){
try { rs.close();} catch (SQLException e) {e.printStackTrac
e();}
}
if(pstmt != null){
try { pstmt.close();} catch (SQLException e) {e.printStackT
race();}
}
if(conn != null){
try { conn.close();} catch (SQLException e) {e.printStackT race();}
}
}
…
3.4 網站系統產品模塊的實現
由于篇幅所限,下面僅以系統產品模塊為例加以實現。企業網站是企業在互聯網上進行網絡營銷的重要平臺,因此產品宣傳是構建企業網站的最基礎內容,也是企業宣傳的核心。系統主要通過產品列表展示和產品詳細介紹來進行產品的宣傳。
3.4.1 產品列表實現
(1)創建產品的業務類
產品的業務類繼承自數據庫訪問公共類,在其中建立查詢并返回所有產品信息的方法 findAllProduct(),通過產品列表頁面,分頁顯示所有產品列表。產品的業務類除了包含查詢所有產品信息方法外,還建立根據產品 ID 查找相關產品信息、實現產品分頁顯示、根據產品 ID 刪除相關產品信息、添加產品信息等方法。產品業務類中查找所有產品信息的代碼如下所示:
…
public ListfindAllProduct() {
List list = new ArrayList();
String sql = "select * from product ";
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
Product product = new Product();
prod
uct.setProductID(rs.getInt("productID"));
prod
uct.setCharacteristic(rs.getString("characteristic"));
product.setName(rs.getString("name"));
product.setPrice(rs.getDouble("price"));
prod
uct.setTechnology(rs.getString("technology"));
product.setModel(rs.getString("model"));
product.setPhoto(rs.getString("photo"));
prod
uct.setApplication(rs.getString("application"));
list.add(product);
}
catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, pstmt, rs);
}
return list;
…
(2)創建產品列表頁面
產品列表頁面中顯示產品的簡要信息,使用超鏈接傳遞productID 值,當點擊產品名稱時可以根據產品的 ID 查詢出產品的詳細信息,并由產品詳情頁面顯示,產品列表 JSP 頁面中超鏈接代碼如下:
…
href="Productdetails.jsp?productID=<%=product.getProductID ()%>"> <%=product.getName()%>
…
3.4.2 產品詳情實現
使用產品業務類中根據產品 ID 查找產品的方法,查詢數據庫,并返回封裝了產品信息的產品對象,在產品詳情JSP 頁面中顯示產品的詳細信息,產品詳情頁面部分代碼如下:
…
<%
String productID = request.getParameter("productID");
ProductDao productDao = new ProductDao();
Product product = productDao.findProductByID(productID); %>
…
…
系統以 B/S 結構為基礎,采用 Tomcat作為應用服務器,使用純 Java 驅動方式的 JDBC 技術直接訪問數據庫,根據企業需求分析,詳細進行系統功能結構設計和數據庫設計,最終基于 JSP 技術完成了企業動態網站系統的設計與開發。系統能夠提供產品展示、信息查詢、會員注冊、登錄、后臺信息維護和在線聊天、留言板等交流互動服務,且具有訪問速度快,安全可靠,易于維護和管理的特點。
[1] 陳爽.何蘭.關于企業網絡營銷的有效手段——網絡廣告的研究[J].中國商貿,2012,11:21-22.
[2] Ruhul Sarker, Mohd Omar, S.M. Kamrul Hasan, Daryl Essam.Hybrid Evolutionary Algorithm for job scheduling under machine maintenance[J].Applied Soft Computing 2013(13):1440–1447.
[3] 關淳,王培軍,成岳鵬.基于 B/S 模式的實驗室設備維修[J].實驗技術與管理,2012,29(6):221-223.
[4] 劉江平,倪小剛,李艷.基于 MVC 模式的 ERP 資源管理系統[J].內蒙古農業大學學報.2013,34(2):171-172.
[5] 祁新安,候清江.SQL Server 數據庫運用研究[J].制造業自動化.2010,32(12):30-32.
[6] 陳望挺,林滿足,陳建,章躍,傅奇佳,竺樂慶.基于 JSP 和Android 的 C/S 結 構 問 卷 系 統 [J]. 計 算 機 應用.2013,33(3):886-889.
Design and Implementation of Enterprise Dynamic Website Based on JSP Technology
Xue Qian
(Shaanxi College of Communication Technology, Xi’an 710018,China)
In order to promote enterprise products and expand the business, so as to improve the corporate performance and set up the enterprise brand,enterprise dynamic website system was designed and implemented. Based on comparison of current popular Web technology,JSP technology was selected to develop system ,then analysing the technical key points relating to system development was laid special stress on, which included B/S, JSP, Web application server and database connection. According to the analysis of enterprise demand,the system function structure and database was designed in great detail, next product module implementation process was taken as an example, finally the construction of enterprise dynamic website was completed. The system provides enterprise display and information exchange platform, and has a good effect on the enterprise publicity.
JSP; Enterprise Publicity; Enterprise Website; B/S Structure; JDBC Technology
TP311
A
1007-757X(2014)02-0014-04
2014.01.15)
國家自然科學青年基金項目(41102107)
薛 倩(1978-)女,陜西交通職業技術學院信息工程系,講師,工學碩士,研究方向:交通信息工程,地形處理與模式識別,西安,710018