国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

開發銀行Intranet數據報表系統

2019-11-18 15:00:24
字體:
來源:轉載
供稿:網友

  隨著java技術的不斷發展和完善,它在銀行業的應用受到越來越多的重視。我行在內部上開發的對私業務網上報表就是用JAVA完成的。它的后臺是一個面向主題的對私業務數據庫,前端用戶通過瀏覽器輸入網點、時間等查詢條件,實時生成該時間段內的各種數據報表,并對各分支行存款余額的走勢、占比情況的進行分析描繪。下面是開發過程中的幾個要害步驟:



一、平臺及開發工具的選用
  操作系統:Windows2000,它的多語言內核最大限度地解決了JAVA與漢字不兼容的問題。
后臺數據庫:SQLServer7.0,它具有動態調整性能和數據轉換服務(DTS)等特點,適合小型數據倉庫的實施。
  WEB Server:sun的j2sdkee1.2.1,支持CORBA、EJB、jsp等最新技術,擴展性好,使用方便。
開發工具:JBuilder4,支持CORBA、EJB、JSP,具有很好的集成開發環境和方便的提示功能、可以免費下載。



二、設計用戶界面并形成應用邏輯
  用FrontPage等網頁開發工具,按照應用的邏輯、流程設計好靜態網頁。注重在要顯示圖形的地方按圖形尺寸留出空白。將生成的.htm文件改為.jsp文件,放到j2sdkee1.2.1public_Html目錄中。



三、數據的動態提取
a)JAVA與數據庫的連接
  第一種方法通過ODBC連接數據庫:首先在控制面板的ODBC中添加System DSN,假如WEB Server與數據庫不在同一臺服務器上,那么必須把它們放在同一個域或同一個組內,然后在JSP文件中加入:



<%
@page language="java" import = "java.sql.*,java.net.URL"
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加載驅動程序
String url = "jdbc:odbc:name";//添加數據庫名稱
Connection con = DriverManager.getConnection(url, "login", "passwd");//用戶名和口令
%>
第二種方法直接連SQLServer數據庫
<%
@page language="java" import = "java.sql.*,java.net.URL"
Class.forName("com.inet.tds.TdsDriver").newInstance();
DriverManager.setLoginTimeout(10);
String url = "jdbc:inetdae:182.25.1.248?sql7=true"; // 添加主機名和端口號
Connection con = DriverManager.getConnection(url,"bcs","becare");
con.setCatalog( "register");
%>



b)調用存儲過程
  在數據庫中定義存儲過程,可以使用復雜的SQL語句,直接生成最終結果的報表,避免在前端反復調用數據庫,減少前端的開發量及網絡負載。生成報表只需在JSP文件中調用一次存儲過程即可。



// 創建一個 存儲過程對象
CallableStatement cstmt = con.//取用戶輸入的參數
String StartDate = request.getParameter("StartDate");
String EndDate = request.getParameter("EndDate");
String OGCD = (String)
session.getValue("SessOGCD");
//將參數傳給過程
cstmt.setString(1,OGCD);
cstmt.setString(2,StartDate);
cstmt.setString(3,EndDate);
cstmt.executeUpdate();
//取存儲過程生成的結果,賦給RS變量,用以顯示到網頁的表格中。
Statement stmt = con.createStatement ();
String sql = “select * from WKCBL”;
ResultSet rs = stmt.executeQuery (sql);



四、畫圖
  在用圖形表示存款余額在某一段時間內的走勢變化或某家支行在全行內的存款占比時,在JSP中調用APPLET是一個比較好的辦法。用戶輸入查詢條件調用存儲過程,將產生的結果以數組的形式傳給APPLET,APPLET中的畫圖函數以此作為參數,生成相應的走勢圖或占比圖。這樣就產生兩個問題:如何用動態的數組來表示個數不確定的查詢結果;如何在APPLET中傳遞與接收參數數組



a)動態數組
//將查詢結果賦給RS變量

ResultSet rs = stmt.executeQuery (sql);
//定義Vector變量
Vector v1 = new Vector();
Vector v2 = new Vector();
Vector v3 = new Vector();
//將查詢結果賦給Vector
while (rs.next()) {
String STRDT = rs.getString(1);
String SCDBL = rs.getString(2);
String SDBBL = rs.getString(3);
v1.add(STRDT);
v2.add(SCDBL);
v3.add(SDBBL);
}
//以Vectro的長度定義數組長度,注重參數必須是字符型。
String[] TRDT = new String[v1.size() ];
String[] CDBL = new String[v2.size() ];
String[] DBBL = new String[v3.size() ];
//將Vector中的數值賦給新定義的數組
v1.copyInto(TRDT) ;
v2.copyInto(CDBL) ;
v3.copyInto(DBBL) ;



b)參數傳遞
將數組以參數形式傳給APPLET,注重所有參數必須是字符類型。
<APPLET
CODE = "Line.class"
WIDTH = 740
HEIGHT = 400
NAME = "TestApplet"
ALIGN = middle
VSPACE = 0
HSPACE = 0>
<%
for (int a=0; a<CDBL.length; a++){
%>
<PARAM NAME = "paramA<%=a%>" VALUE = "<%=TRDT[a]%>">
<PARAM NAME = "paramB<%=a%>" VALUE = "<%=CDBL[a]%>">
<PARAM NAME = "paramC<%=a%>" VALUE = "<%=DBBL[a]%>">
<%
}
%>
<PARAM NAME = "ParamNumber" VALUE = "<%=CDBL.length%>">
<PARAM NAME = "SDate" VALUE = "<%=StartDate%>">
<PARAM NAME = "EDate" VALUE = "<%=EndDate%>">
</APPLET>



APPLET端接收參數:
public void init() {



int Number = Integer.parseInt(getParameter("ParamNumber"));
String StartDate = this.getParameter("SDate");
String EndDate = this.getParameter("EDate");



String[] SVar1 = new String [Number];
String[] SVar2 = new String [Number];
double[] DVar2 = new double [Number];
double[] DVar3 = new double [Number];



for (i=0;i<Number;i++)
{
try
{
SVar1[i] = this.getParameter("paramA"+i);
DVar2[i] = (double)Integer.parseInt(getParameter("paramB"+i));
DVar3[i] = Double.parseDouble(getParameter("paramC"+i));//JAVA2中的方法
}
catch(Exception e)
{
e.printStackTrace();
}
}



  在開發過程中我們也發現一些問題:在網頁的下拉條等控件中不能正常顯示漢字,同樣問題也發生在Applet中的漢字輸出;另外目前的IE瀏覽器不支持Java2,假如在APPLET中引用了Swing類,就無法在IE中正常顯示。解決辦法一種是用<Object>標記代替<Applet>標記,在<Object>中調用Java Plug-in組件;另一種就是用AWT代替Swing,這樣大多數圖形也能畫出來,只是不能利用JAVA2的最新特性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵溪市| 甘泉县| 当阳市| 双牌县| 新疆| 美姑县| 滨海县| 交口县| 景泰县| 金门县| 博爱县| 吉首市| 新建县| 新野县| 武穴市| 舞阳县| 天津市| 盐亭县| 武城县| 玉环县| 龙胜| 内乡县| 兴仁县| 樟树市| 巩留县| 仙居县| 松江区| 扬州市| 辉南县| 来安县| 巨野县| 乌兰浩特市| 江华| 柳江县| 澄迈县| 巴林右旗| 江北区| 石阡县| 宁远县| 石门县| 华阴市|