weblogic的jsp問(wèn)題解決方法(2)_JSP教程
推薦:JSP XML實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容動(dòng)態(tài)顯示的方案一、xml技術(shù)簡(jiǎn)介 XML(eXtensible Markup Language??可擴(kuò)展標(biāo)記語(yǔ)言)是一種 擴(kuò)展的源標(biāo)記語(yǔ)言,是可以定義其他語(yǔ)言的語(yǔ)言。 它是SGML的一個(gè)簡(jiǎn)化子集,這個(gè)子集是專(zhuān)為Web
問(wèn)題7:
使用vector hashtable 一次返回查詢(xún)結(jié)果resulset.
解決方法: 記錄集:將一條記錄放到一個(gè)hashtable里面,然后把它再
添加到vector里面,循環(huán)記錄下結(jié)果集,返回vector
具體見(jiàn)后面的java文件的部分代碼(不包擴(kuò)數(shù)據(jù)庫(kù)的連接和關(guān)閉)
package zjdx.bean.common;
/********************************************
***** Title: hashtable_vector_rs
***** Description: 數(shù)據(jù)顯示
***** Copyright: Copyright (c) 2002
***** Company: DHC
***** author: wangyl
***** version: 1.0
***** 說(shuō)明:
***** 記錄集:一條記錄用放到一個(gè)hashtable里面,然后把它再
放到vector里面,循環(huán)記錄下結(jié)果集,返回vector
*********************************************/
import java.io.*;
import java.sql.*;
import java.util.*;
import java.text.*;
public class hashtable_vector_rs
{
/*----------------------------------------------------------------*/
/* 函數(shù)名稱(chēng): getMultiRowInfo
/* 功能描述: 返回記錄集,放到Hashtable里面
/* 參數(shù): sql 語(yǔ)句,字段個(gè)數(shù)
/* 返回值: 成功---htable, 失敗---null
/*----------------------------------------------------------------*/
public Vector ListResult(String sqlStatement,int num)
{
Vector ListRs=new Vector();
try
{
connectDB();
rs=stmt.executeQuery(sqlStatement);
//判斷字段數(shù)據(jù)類(lèi)型
//date型 返回 93
//int型 返回 2,4
//bigint型 返回 3
//String型 返回 12
//(char 型)返回 1
int t = -1;
rsmd = rs.getMetaData();
int ColumnCount=0;
if(num>0)
ColumnCount = num;
else
ColumnCount = rsmd.getColumnCount();
while(rs.next())
{
Hashtable htable =new Hashtable();
for (int i = 1; i <= ColumnCount; i )
{
t=rsmd.getColumnType(i);
System.out.println("i=" i ",t=" t "name=" rsmd.getColumnName(i));
if(t==12||t==1||t==3)
{
if(rs.getString(i)==null|| rs.getString(i).equals(""))
htable.put(rsmd.getColumnName(i),"");
else
htable.put(rsmd.getColumnName(i),rs.getString(i));
}
else if(t==93)
{
htable.put(rsmd.getColumnName(i),rs.getDate(i).toString());
}
else if(t==2||t==4)
{
htable.put(rsmd.getColumnName(i),Integer.toString(rs.getInt(i)));
}
}
ListRs.add(htable);
}//e
return ListRs;
}
catch(Exception listError)
{
System.out.println("數(shù)據(jù)庫(kù)操作失��!" listError);
return null;
}
finally
{
try
{
closeDB();
}
catch(Exception closeErr)
{
System.out.println("關(guān)閉數(shù)據(jù)庫(kù)出錯(cuò):" closeErr);
}
}
}
}
問(wèn)題8: jsp的程序也有設(shè)計(jì)的不夠合理的地方
例如:選擇一個(gè)下拉框,提交一次,列出所選的數(shù)據(jù),選擇另外一個(gè)下拉框再次提交,再次列出所選的數(shù)據(jù)。
解決方法:
盡量一次把條件選擇完畢,然后列出所選擇的數(shù)據(jù),并且在數(shù)據(jù)多的時(shí)候,盡量使用翻頁(yè),減少運(yùn)行時(shí)間。
問(wèn)題9:性能優(yōu)化,盡量使用PreparedStatement
解決方法:
PreparedStatement 對(duì)象和使用的普通的 Statement 對(duì)象有兩點(diǎn)不同。
第一, 它們是為了性能更快而由 JDBC 驅(qū)動(dòng)程序或數(shù)據(jù)庫(kù)編譯(預(yù)編譯)的。
第二, 它們接受一個(gè)或多個(gè)動(dòng)態(tài)輸入?yún)?shù),稱(chēng)為 IN 參數(shù)。這兩點(diǎn)讓 PreparedStatement 對(duì)象適用于重復(fù)的 SQL 操作,其中操作基本上都是一樣的,只有微小的差異(如數(shù)據(jù)載入)。要讓 SQL 語(yǔ)句在使用前預(yù)備好,在 PreparedStatement 對(duì)象創(chuàng)建時(shí)必須將 SQL 傳送到 JDBC 驅(qū)動(dòng)程序,而不是在其執(zhí)行時(shí)才傳送。
IN 參數(shù)用 SQL String 中的 ? 占位符表示。在 PreparedStatement 能夠成功地執(zhí)行前,還必須調(diào)用 PreparedStatement 對(duì)象的 setXXX() 方法來(lái)設(shè)置 IN 參數(shù),在這里 XXX 被設(shè)置的參數(shù)的數(shù)據(jù)類(lèi)型所替換。因而,要將第一個(gè) IN 參數(shù)設(shè)置為整數(shù)值 100,您應(yīng)該調(diào)用 setInt(1, 100)。同樣地,要將第二個(gè) IN 參數(shù)設(shè)置為字符串值“rjb”,您應(yīng)該調(diào)用 setString(2, "rjb")。最后一點(diǎn)是,設(shè)置好的參數(shù)值在設(shè)置為一個(gè)新的值,或用 clearParameters() 顯式地清除之前會(huì)保持不變。這很重要,因?yàn)?PreparedStatement 可以被多次執(zhí)行;如果您不注意的話(huà),就會(huì)讓您的數(shù)據(jù)庫(kù)充滿(mǎn)無(wú)用數(shù)據(jù)。
問(wèn)題10 :
1、我把包含SQLBridge 的java文件改了一遍,有32個(gè)java文件(已經(jīng)改完)。
2、我把包含SQLPool 的java文件改了一遍,有27個(gè)java文件(已經(jīng)改完)。
3、我把不用的jsp文件整理了一下,大概有17 個(gè)目錄的jsp文件不用或者沒(méi)有上線(xiàn)。(整理完畢)
問(wèn)題11:提交頁(yè)面,每次都提交兩次。
原因:
1、
這里如果type=”sbumit”,頁(yè)面就會(huì)提交兩次。(花費(fèi)了一天的時(shí)間才找到原因)。
在onclick事件里面會(huì)提交一次,而submit 按鈕本身也會(huì)提交一次。
解決方法:
如果在onclick 事件里面提交頁(yè)面,按鈕的類(lèi)型type 一定不可以是”submit” 按鈕。
可以是”button”.
全文搜索共有33個(gè)類(lèi)似的文件。
java.net.SocketException: ReadFile failed: 指定的網(wǎng)絡(luò)名不再可用。
主要是由于這個(gè)引起的。
問(wèn)題12:定時(shí)刷新頁(yè)面,600秒(不是必要的,不要這樣做)
原因:
解決方法:
去掉這樣的語(yǔ)句。
全文搜索共有12個(gè)類(lèi)似的文件。
問(wèn)題13:在跳轉(zhuǎn)到別的頁(yè)面的時(shí)候,要加return。
否則可能會(huì)引起錯(cuò)誤。跳轉(zhuǎn)不過(guò)去。
If{
request.getRequestDispatcher("/zjdx/jsp/common/ErrorPage.jsp?s_mark=error:record have existed").forward(request,response);
return;
}
else
{
response.sendRedirect();
//建議用上面的方法
return;
}
分享:實(shí)例講解在JSP開(kāi)發(fā)中的對(duì)象和范圍屬性在JSP頁(yè)面中的對(duì)象,包括用戶(hù)創(chuàng)建的對(duì)象(例如,JavaBean對(duì)象)和JSP的隱含對(duì)象,都有一個(gè)范圍屬性。范圍定義了在什么時(shí)間內(nèi),在哪一個(gè)JSP頁(yè)面中可以訪(fǎng)問(wèn)這些對(duì)象。例如,session對(duì)象在會(huì)
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁(yè)模板:關(guān)于jsp頁(yè)面使用jstl的異常分析
- JSP頁(yè)面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫(kù)的配置方法
- JDBC連接Access數(shù)據(jù)庫(kù)的幾種方式介紹
- 網(wǎng)站圖片路徑的問(wèn)題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁(yè)上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
猜你也喜歡看這些
- 解決JSP開(kāi)發(fā)Web程序中文顯示的三種方法
- 解析java的==和equals區(qū)別
- 在J2ME手機(jī)程序開(kāi)發(fā)中使用顏色
- 解讀jsp數(shù)據(jù)庫(kù)編程技巧
- jstl實(shí)現(xiàn)在jsp中動(dòng)態(tài)添加下拉列表項(xiàng)
- JSP動(dòng)態(tài)網(wǎng)頁(yè)程序中中文亂碼的解決方法
- Java與其他語(yǔ)言數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換方法
- J2ME編程實(shí)踐之聯(lián)網(wǎng)開(kāi)發(fā)1
- 淺析JSP分頁(yè)教程
- 從jsp發(fā)送動(dòng)態(tài)圖像
- 相關(guān)鏈接:
- 教程說(shuō)明:
JSP教程-weblogic的jsp問(wèn)題解決方法(2)
。