亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

初學jsp心得

2020-07-27 21:54:03
字體:
來源:轉載
供稿:網友
測試環境為 jdk1.2.2 jswdk-1.0 winnt4.0中文版。

1。java是大小寫敏感的,用過其他編程語言的人最容易犯這個錯誤,尤其是剛上手的時候。我剛開始調試jsp的時50%以上的編譯錯誤是都是因為這個。

2。java的調用過程都是要加括號的,一開始比較容易忽視,如title=request.getParameter("title").trim();

3。jsp中對應asp中的request.form()和request.querystring()的解決方法。
jsp中取得參數沒有form和queryString之分,都是通過request.getParameter("XXXX")來取得。雖然jsp也有request.getQueryString()方法,但測試結果是 test.jsp?id=1&page=20 得到 id=1&page=20。
  如果url和form有相同的參數名稱呢?下面是一段測試代碼:
<form method="POST" action="query.jsp?id=2">
<input type="text" name="id" value="1" size="60">
</form>
name都是id,結果是url的參數優先得到,jsp的這種處理方式和asp相比我覺的各有所長。

4。頭疼的漢字處理問題。
在其他的文章里曾說到在中文NT環境下如下語句輸出會得到亂碼,
<%="你好"%> 及 out.print("你好");等。解決方法是只要對字符串變量進行編碼就可以得到正確結果,如下代碼可以得到正確的輸出:
<% String title="你好";
byte[] tmpbyte=title.getBytes("ISO8859_1");
title=new String(tmpbyte);
out.print(title); %>
或者<%=title%>

關于sql語句漢字問題,例句為 select * from test where title='誰是傻瓜'
在jdbc-odbc驅動下連db2,不管是原句還是對sql語句進行編碼后都死活通不過。
換了ibm的jdbc直接驅動后,對sql語句編碼后程序可以通過。

這個問題的產生大概是中文NT的原因,在其他環境下可能就沒漢字處理問題了,據說ibm的web sphere對中文支持的很好,這也給jsp的開發帶來一定的通用性問題。據說對字符串編碼是一種通用的解決方法,不過沒有這么多環境來測試。

5。在asp中經常使用到字符串判斷語句如 if state="真是傻瓜" then.....
  在java中String變量不是一個簡單的變量而是一個類實例,不同的方法會得到不同的結果
a.
String str1="我是傻瓜";
String str2="我是傻瓜"; (or String str2="我是"+"傻瓜"; )
if (str1==str2)
out.print("yes");
else  
out.print("no");
結果是"yes"。
大概是編譯優化,str1,str2指向同一個類實例;

b.
String str1,str2,str3;
str1="我是傻瓜";
str2="我是";
str3=str2+"傻瓜";
if (str1==str3)
out.print("yes");
else
out.print("no");
結果是"no"。

String str1=new String("我是傻瓜");
String str2=new String("我是傻瓜");
if (str1==str2)
out.print("yes");
else
out.print("no");
結果是"no"。

String str1=new String("我是傻瓜");
String str2=new String("我是傻瓜");
if (str1.compareTo(str2)==0)
out.print("yes");
else
out.print("no");
結果是"yes"。

所以在jsp中判斷字符串要使用compareTo方法,用慣傳統語言還真一下子適應不過來,熟悉java的朋友應該沒這個問題。

6。如何判斷數據庫為空?
  result = stmt.executeQuery(sql);
  if (result.next())  
   ......
  result執行后游標出于一個未明的狀態,不能進行狀態判斷,也不能取值,一定要next()一下才可以用。


7。在jsp中實現分頁。
page是關鍵字,不能當變量。
conn.jsp
<%
  String sDBDriver = "COM.ibm.db2.jdbc.app.DB2Driver";
  String sConnStr = "jdbc:db2:faq";
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs=null;  
    try {
        Class.forName(sDBDriver);   
  }
    catch(java.lang.ClassNotFoundException e)   {
    out.print("faq(): " + e.getMessage());
  }

  try{
    conn = DriverManager.getConnection(sConnStr,"wsdemo","wsdemo1");     
    stmt = conn.createStatement();
  }catch(SQLException e){
    out.print(e.toString());
  }
%>

query.jsp

<%@ page language="java" import="java.sql.*" %>
<%@ page contentType="text/html; charset=gb2312" %>
<%@ include file="conn.jsp" %>
<%
.......
int pages=0;
int pagesize=10;
ResultSet result = null;
ResultSet rcount = null;

pages = new Integer(request.getParameter("pages")).intValue();

if (pages>0)
{

String sql=" state='我不傻'";
int count=0;
try {
rcount = stmt.executeQuery("SELECT count(id) as id from user where "+sql);
catch(SQLException ex) {
out.print("aq.executeQuery: " + ex.getMessage());
}
if(rcount.next())
count = rcount.getInt("id");
rcount.close();

if (count>0)
{  
sql="select * from user where "+sql;
try {
result = stmt.executeQuery(sql);
  }  
catch(SQLException ex) {
out.print("aq.executeQuery: " + ex.getMessage());
}

int i;
String name;
// result.first();
// result.absolute((pages-1)*pagesize);
// 此方法jdbc2.0支持。編譯通過,但執行不過,不知是不是跟驅動有關,只好用下面的笨辦法。
for(i=1;i<=(pages-1)*pagesize;i++)
result.next();
for(i=1;i<=pagesize;i++) {
if (result.next()) {
name=result.getString("name");
out.print(name);
}
result.close();
int n= (int)(count/pagesize);
if (n*pagesize<count) n++;
if (n>1)
{
for(i=1;i<=n;i++)
  out.print("<a href=query.jsp?pages="+i+">"+i+"&nbsp;</a>");
}
}
}
%>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品99久久免费| 亚洲新中文字幕| 国产精品精品国产| 日韩va亚洲va欧洲va国产| 国产在线精品自拍| 日韩69视频在线观看| 午夜精品免费视频| 国产成人精品a视频一区www| 亚洲欧洲在线免费| 欧美视频一二三| 日韩电影在线观看永久视频免费网站| 色噜噜狠狠色综合网图区| 亚洲人成网7777777国产| 亚洲综合第一页| 日韩亚洲综合在线| 欧美韩国理论所午夜片917电影| 国产精品视频免费观看www| 91色中文字幕| 亚洲欧美制服另类日韩| 亚洲精品99久久久久| 国产精品人人做人人爽| 国内久久久精品| 精品久久久久久电影| 亚洲视频axxx| 久久男人的天堂| 在线观看欧美www| 在线视频中文亚洲| 日韩高清电影免费观看完整| 欧美日韩国产综合新一区| 亚洲一区制服诱惑| 色小说视频一区| 国产视频在线观看一区二区| 欧美激情中文字幕乱码免费| 国产极品精品在线观看| 亚洲欧美国产视频| 原创国产精品91| 国产91精品高潮白浆喷水| 国产精品美女呻吟| 色爱精品视频一区| 亚洲精品国产精品乱码不99按摩| 亚洲福利视频在线| 国产亚洲欧洲高清一区| 中文字幕亚洲第一| 91av在线影院| 久久好看免费视频| 亚洲一区二区免费在线| 欧日韩不卡在线视频| 91国产在线精品| 91免费综合在线| 久久人体大胆视频| 国产一区二区三区中文| 另类专区欧美制服同性| 欧美一区二区大胆人体摄影专业网站| 狠狠躁夜夜躁久久躁别揉| 欧美激情一区二区三级高清视频| 亚洲黄色片网站| 久久黄色av网站| 久久精品免费电影| 欧美激情中文字幕乱码免费| 国产成人久久久精品一区| 国产精品综合不卡av| 国产精品视频免费在线| 狠狠色狠色综合曰曰| 搡老女人一区二区三区视频tv| 久久99国产精品久久久久久久久| 欧美成人合集magnet| 欧美华人在线视频| 欧美国产日韩视频| 国内精品国产三级国产在线专| 91视频-88av| 国产精品久久久一区| 亚洲国产精品久久久久久| 国产精品高潮呻吟视频| 欧美巨乳在线观看| 精品精品国产国产自在线| 久久精品99国产精品酒店日本| 亚洲成人aaa| 国产啪精品视频网站| 91香蕉嫩草影院入口| 91视频免费网站| 日韩av不卡电影| 日韩欧美中文字幕在线播放| 亚洲综合av影视| 日韩中文字幕视频在线观看| 国产欧美日韩亚洲精品| 亚洲欧洲日产国码av系列天堂| 一区二区三区美女xx视频| 日韩av免费在线看| 欧美做受高潮1| 一区二区三区视频在线| 国产aaa精品| xvideos亚洲人网站| 久久精品国产99国产精品澳门| 欧美成人精品在线观看| 欧美日韩国产123| 亚洲国产精品大全| 国产精品女主播视频| 免费不卡在线观看av| 在线丨暗呦小u女国产精品| 狠狠做深爱婷婷久久综合一区| 国产精品三级网站| 久久影视三级福利片| 日韩av成人在线| 亚洲一区二区国产| 欧美成人午夜激情在线| 中文字幕不卡在线视频极品| 亚洲一区二区三区视频播放| 亚洲一区二区三区四区视频| 欧美性色xo影院| 欧美在线视频免费观看| 欧美成人午夜激情| 精品久久久久久久久国产字幕| 97香蕉超级碰碰久久免费的优势| 久久精品亚洲热| 欧美日韩国产激情| 精品久久久久久亚洲精品| 国产在线观看91精品一区| 亚洲天堂av在线免费观看| 亚洲福利在线播放| 久热精品视频在线观看| 欧美亚洲一级片| 日本亚洲欧洲色α| 久久久久久久一| 性亚洲最疯狂xxxx高清| 亚洲天堂网站在线观看视频| 亚洲欧美三级伦理| 日本免费久久高清视频| 91精品视频大全| 欧美成人免费一级人片100| 国产精品www色诱视频| 欧美国产激情18| 45www国产精品网站| 国产成人91久久精品| 欧美国产日韩xxxxx| 成人福利网站在线观看| 蜜臀久久99精品久久久久久宅男| 正在播放亚洲1区| 这里只有精品视频| 国产丝袜视频一区| 插插插亚洲综合网| 日韩免费不卡av| 亚洲一区二区三区777| 欧美多人爱爱视频网站| 亚洲欧洲日韩国产| 欧美成人国产va精品日本一级| 日韩av资源在线播放| 国产精品视频在线观看| 久久精品成人一区二区三区| 日韩在线免费观看视频| 国产精品第二页| 国产激情视频一区| 国产欧洲精品视频| 精品亚洲精品福利线在观看| 久久久人成影片一区二区三区观看| 色悠悠久久久久| 亚洲第一精品福利| 伦理中文字幕亚洲| 国产成人拍精品视频午夜网站| 中日韩午夜理伦电影免费| 欧美肥老太性生活视频| 久久91精品国产| 91美女高潮出水| 91精品在线播放| www.亚洲免费视频|