原創(chuàng)|使用教程|編輯:龔雪|2014-05-15 11:08:54.000|閱讀 527 次
概述:只需要簡(jiǎn)單幾個(gè)步驟和MyEclipse IDE,便可以使用jQuery將數(shù)據(jù)轉(zhuǎn)換為JSON數(shù)據(jù),并展示JSON數(shù)據(jù)的反饋,這個(gè)教程能夠幫助廣大JAVA開(kāi)發(fā)者更深入的MVC 設(shè)計(jì)模式(Model View Controller pattern)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
該 案例 是 某 省電 信 公司 的 業(yè)務(wù) 系統(tǒng) 的 性能 測(cè)試。 該 業(yè)務(wù) 系統(tǒng) 用于 管理 省電 信 公司 的 所有 電信 交換機(jī) 設(shè)備, 業(yè)務(wù) 系統(tǒng) 的 重點(diǎn) 在于 4 個(gè) 方面: 從 交換機(jī) 定期 獲取 并 處理 話(huà)務(wù) 報(bào)告; 接收 交換機(jī) 發(fā)出 的 告警 消息; 允許用戶(hù) 通過(guò) 應(yīng)用 界面 對(duì) 交換機(jī) 進(jìn)行 操作( 發(fā)送 命令); 允許 其他 業(yè)務(wù) 系統(tǒng) 發(fā)送 的 交換機(jī) 操作 要求 通過(guò) 網(wǎng)關(guān) 的 處理 后轉(zhuǎn) 換成 相應(yīng) 的 交換機(jī) 命令 并 下發(fā)。
由于 該 業(yè)務(wù) 系統(tǒng) 是 電信 運(yùn)營(yíng) 商 的 核心 支撐 業(yè)務(wù) 系統(tǒng), 因此 用戶(hù) 對(duì) 該 系統(tǒng) 的 穩(wěn)定性 非常 關(guān)注, 要求 系統(tǒng) 能夠 7 × 24 小時(shí) 不間斷 運(yùn)行, 在最 終 決定 的 系統(tǒng) 方案 中, 也為 該 系統(tǒng) 的 采集 服務(wù)器 進(jìn)行 了 N+ 1 的 冗余 配置, 為 應(yīng)用 服務(wù)器 和 數(shù)據(jù)庫(kù) 服務(wù)器 進(jìn)行 了 1+ 1 的 冗余 配置。
對(duì) 業(yè)務(wù) 系統(tǒng) 的 性能 測(cè)試 是在 開(kāi)發(fā) 接近 完成時(shí) 進(jìn)行 的, 主要 目的 包括 幾個(gè) 方面: 驗(yàn)證 系統(tǒng) 是否 達(dá)到 了 預(yù)期 的 性能指標(biāo); 驗(yàn)證 系統(tǒng) 是否 能 穩(wěn)定 運(yùn)行; 驗(yàn)證 系統(tǒng) 的 失效 恢復(fù) 方案 是否 有效; 在 測(cè)試 過(guò)程中 有 針對(duì) 性的 進(jìn)行 部分 調(diào) 優(yōu) 工作, 以 保證 系統(tǒng) 能夠 達(dá)到 預(yù)期 的 性能 要求。
只需要簡(jiǎn)單幾個(gè)步驟和MyEclipse IDE,便可以使用jQuery將數(shù)據(jù)轉(zhuǎn)換為JSON數(shù)據(jù),并展示JSON數(shù)據(jù)的反饋,這個(gè)教程能夠幫助廣大JAVA開(kāi)發(fā)者更深入的MVC 設(shè)計(jì)模式(Model View Controller pattern)。
數(shù)據(jù)庫(kù)
示例數(shù)據(jù)庫(kù)信息表包含兩列msg_id和消息。
第1步
創(chuàng)建一個(gè)新的包DTO(數(shù)據(jù)交易對(duì)象)。
右鍵單擊SRC - >“新建”,然后選擇“Package”。
給Package命名,然后單擊“完成”。
第2步
現(xiàn)在,你必須創(chuàng)建一個(gè)類(lèi),右鍵單擊DTO - >新建 - 類(lèi)(Class)
MessageObjects.java
在這里,你必須聲明所有的事務(wù)對(duì)象(transaction objects),本教程中的事務(wù)對(duì)象是msg_id和消息
package dto; public class MessageObjects { //Message Objects private String msg_id; private String message; //Getters and Setters }
第3步
你必須生成getter和setter,只需右鍵點(diǎn)擊的代碼。
轉(zhuǎn)到資源(Source),然后選擇生成Getter和Setter
后續(xù)的彈出窗口出現(xiàn)后,選擇事務(wù)對(duì)象,然后單擊“確定”。
Eclipse會(huì)產(chǎn)生這樣的代碼,當(dāng)存在大量的事務(wù)對(duì)象時(shí),這個(gè)就會(huì)非常有用了。
第4步
你必須復(fù)制gson.jar到庫(kù)文件夾,下載代碼中包含這些JAR文件。
第5步
數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象(DAO)包
Project.java
用ArrayList數(shù)據(jù)類(lèi)型創(chuàng)建一個(gè)GetMessages,使用select語(yǔ)句從消息表中得到結(jié)果,再將結(jié)果綁定到messageData對(duì)象。
package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dto.MessageObjects; public class Project { public String InsertMessage(Connection connection, HttpServletRequest request, HttpServletResponse response) throws Exception { // Previous Post } public ArrayList GetMessages(Connection connection,HttpServletRequest request,HttpServletResponse response) throws Exception { ArrayList messageData = new ArrayList(); try { PreparedStatement ps = connection.prepareStatement("SELECT msg_id,message FROM messages ORDER BY msg_id DESC"); ResultSet rs = ps.executeQuery(); while(rs.next()) { MessageObjects messageObject = new MessageObjects(); messageObject.setMsg_id(rs.getString("msg_id")); messageObject.setMessage(rs.getString("message")); messageData.add(messageObject); } return messageData; } catch(Exception e) { throw e; } } }
第6步
模型類(lèi)模型包
ProjectManager.java
在這里,你必須編寫(xiě)業(yè)務(wù)邏輯,例如:用戶(hù)會(huì)話(huà)驗(yàn)證
package model; import java.sql.Connection; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.Project; import dto.MessageObjects; public class ProjectManager { public String InsertMessage(Connection connection, HttpServletRequest request, HttpServletResponse response) throws Exception { //Previous Post } public ArrayList GetMessages(Connection connection, HttpServletRequest request, HttpServletResponse response) throws Exception { ArrayList messages = null; try { // Here you can validate before connecting DAO class, eg. User session condition Project project= new Project(); messages=project.GetMessages(connection, request, response); } catch (Exception e) { throw e; } return messages; } }
第7步
創(chuàng)建servlet類(lèi)的控件包。
GetMessages.java
轉(zhuǎn)換messageData對(duì)象的數(shù)據(jù)為JSON數(shù)據(jù)格式。在WEB-INF目錄下的web.xml文件里面添加servlet類(lèi)映射。在WEB-INF目錄下的web.xml文件里面添加servlet類(lèi)映射。
package controls; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; import dao.Database; import model.ProjectManager; import dto.MessageObjects; @WebServlet("/GetMessages") public class GetMessages extends HttpServlet { private static final long serialVersionUID = 1L; public GetMessages() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { Database database= new Database(); ProjectManager projectManager= new ProjectManager(); ArrayList messagesData = null; Connection connection = database.Get_Connection(); messagesData = projectManager.GetMessages(connection, request, response); Gson gson = new Gson(); String messages = gson.toJson(messagesData); out.println("{\"Messages\":"+messages+"}"); } catch (Exception ex) { out.println("Error: " + ex.getMessage()); } finally { out.close(); } }
從信息數(shù)據(jù)中獲取JSON輸出
{ "Messages":[ { "msg_id":"3", "message":"Everything is possible. " }, { "msg_id":"2", "message":"9lessons Programming Blog //9lessons.info" }, { "msg_id":"1", "message":"Make People fall in love with Your Ideas" } ]
第8步
最后一步,使用jQuery顯示JSON數(shù)據(jù)。
index.jsp
使用$.AJAX調(diào)用GetMessages servlet,然后讀取所有有$.的JSON數(shù)據(jù),再數(shù)據(jù)添加到內(nèi)容的div。
第9步
您可以下載中心WAR文件并導(dǎo)入到Eclipse IDE。在以下項(xiàng)目地址中運(yùn)行://localhost:8080/SecondProject/index.jsp
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)