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

首頁 > 編程 > JSP > 正文

實戰JSP進階編程之一

2024-09-05 00:20:34
字體:
來源:轉載
供稿:網友
,歡迎訪問網頁設計愛好者web開發。

  不少jsp初學者在學會簡單的jsp編程后,往往停留在用jsp里面的sql語句調一個javabean進行數據庫連接階段,止步不前了。

  這個簡單的教程希望能夠有助于初學者學會用oop思想進行jsp編程。

  場景:一個簡單的新聞系統,有2-3個數據表構成。

  數據庫系統用的是mysql,當然用其它的也類似。

  先看第一個數據表,也是主要的數據表:news

create table news2 (newsid int not null,
userid int,
kwid int, // 關鍵詞外鍵
title varchar(100),
content text,
hits int,
cdate varchar2(30),
mdate varchar2(30),
primary key(newsid));

  再插入一個樣本數據:

insert into news2 (newsid, title, content) values (1, 'test title', 'test body');

  設計思路:用mvc模式編程,將數據以一個helper class news.java 打包,

  并通過newsdao.java進行數據庫操作。

  設計階段,用uml勾畫出系統的object.

  ...此處省略

  newsdao的主要方法有:

  1. public news getnewsbyprimarykey(int newsid);

  2. public news[] getrecentnews();

  3. public news[] gethotnews();

  ......

  news.java的代碼如下:

package news;
public class news {
private int newsid;
private int userid;
private int kwid;
private int hits;
private string title;
private string content;
private string cdate;
private string mdate;
public news(){ }
public news(int newsid,int userid,int kwid,int hits,string title,string content,string cdate)
{
this.newsid=newsid;
this.userid=userid;
this.kwid=kwid;
this.hits=hits;
this.title=title;
this.content=content;
this.cdate=cdate;
}
public news(int id, string t, string cnt) {
this.newsid = id;
this.title = t;
this.content = cnt;
}
public int getnewsid()
{
return newsid;
}
public void setnewsid(int newsid)
{
this.newsid=newsid;
}
public int getuserid()
{
return userid;
}
public void setuserid(int userid)
{
this.userid=userid;
}
public int getkwid()
{
return kwid;
}
public void setkwid(int kwid)
{
this.kwid=kwid;
}
public int gethits()
{
return hits;
}
public void sethits(int hits)
{
this.hits=hits;
}
public string gettitle()
{
return title;
}
public void settitle(string title)
{
this.title=title;
}
public string getcontent()
{
return content;
}
public void setcontent(string content)
{
this.content=content;
}
public string getcdate()
{
return cdate;
}
public void setcdate(string cdate)
{
this.cdate=cdate;
}
}

  說明:這個程序可以用作javabean,作為錄入表單的參數攜帶者(params holder).

|||

  最主要的文件newsdao.java代碼如下:

package news;
import java.sql.*;
public class newsdao
{
connection conn = null;
statement stmt = null;
resultset rs = null;
string url="jdbc:mysql://localhost:3306/joke?user=root";
public newsdao()
{
try {
class.forname ("com.mysql.jdbc.driver");
}
catch (java.lang.classnotfoundexception e) {
system.err.println("joke():"+e.getmessage());
}
}
public news getnewsbyprimarykey(int newsid) throws sqlexception
{
connection conn=null;
statement stmt;
resultset rs;
news news = null;
string sql="select newsid,title,content from news2"+
" where newsid="+newsid+"";
conn = getconnection();
stmt = conn.createstatement();
rs=stmt.executequery(sql);
if(rs.next())
{
news = new news(rs.getint(1), rs.getstring(2),rs.getstring(3));
}
rs.close();
stmt.close();
conn.close();
return news;
}
private connection getconnection() throws sqlexception
{
connection conn = null;
conn = drivermanager.getconnection(url);
return conn;
}
}

  說明:這個程序作為示例代碼,非常簡單,沒有考慮異常,更主要的method

  如getrecentnews()等,大家可以自己參考實現。

  簡單的jsp調用測試程序:getnews.jsp

<%@page contenttype="text/html;charset=gb2312" %>
<%@page import="news.*" %>
<%
newsdao newsdao = new newsdao();
news news = newsdao.getnewsbyprimarykey(1);
if(news != null) {
out.println("title:"+news.gettitle());
out.println("<br>");
out.println("body:"+news.getcontent());
}
else out.println("failed.");
%>

  說明:這個簡化實現其實是dao模式的省略形式,還應該有interface,dao factory的。

  有時間的話,可能以后會給出示例,當然,大家在熟悉oop方式之后,也能夠自己補齊。

  還有,編譯的時候 用 javac news/*.java 就可以了。

  如果系統提示找不到news, 那其實是因為你的newsdao.java有問題,并非真的是news不在路徑上。在同一個包內,一般這樣編譯就可以的。只不過,編譯的錯誤提示誤導人。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩国产中文专区| 国产精品香蕉av| 日韩在线观看网址| 精品香蕉在线观看视频一| 欧美日韩国产色| 福利一区视频在线观看| 国产自摸综合网| 日韩在线小视频| 韩剧1988免费观看全集| 国产成人综合精品在线| 久久精品国亚洲| 国产亚洲精品高潮| 91精品国产高清久久久久久| 伊人伊成久久人综合网小说| 欧美精品电影在线| 欧美体内谢she精2性欧美| 欧美激情一区二区久久久| 国产日韩亚洲欧美| 日韩欧美中文字幕在线观看| 国产成人aa精品一区在线播放| 伊人久久大香线蕉av一区二区| 亚洲美腿欧美激情另类| 欧美激情videoshd| 亚洲综合第一页| 日韩电影免费观看在线观看| 日韩视频亚洲视频| 欧美激情亚洲综合一区| 97在线视频一区| 色www亚洲国产张柏芝| 亚洲视频在线免费观看| 一区二区三欧美| 国产欧美日韩中文| 国产一区二区三区在线视频| 日韩中文字幕在线视频播放| 亚洲综合小说区| 日韩av网站电影| 亚洲欧美日韩中文在线| 欧美网站在线观看| 欧美激情视频给我| 亚洲最大激情中文字幕| 在线免费看av不卡| 91精品国产91久久久久久吃药| 久久激情五月丁香伊人| 国产va免费精品高清在线观看| 91久久嫩草影院一区二区| 欧美性极品少妇精品网站| 亚洲成人精品视频| 国产精品青草久久久久福利99| 国产精品一区二区av影院萌芽| 亚洲人成自拍网站| 亚洲精品国偷自产在线99热| 色综合亚洲精品激情狠狠| 国产精品一区二区三区免费视频| 精品日本美女福利在线观看| 国产欧美日韩免费| 日韩精品999| 欧美日韩成人在线视频| 色噜噜狠狠狠综合曰曰曰88av| 97久久精品人人澡人人爽缅北| 久久综合久中文字幕青草| 国产精品女主播| 亚洲aaaaaa| 国产91亚洲精品| 国产在线视频2019最新视频| 日韩精品在线免费播放| 尤物yw午夜国产精品视频| 成人网在线视频| 亚洲精品美女在线观看| 久久综合免费视频| 日韩中文视频免费在线观看| 国语自产精品视频在免费| 亚洲欧美一区二区三区在线| 国产精品揄拍一区二区| 国产午夜一区二区| 国产丝袜一区二区三区免费视频| 亚洲精品美女久久久久| 日韩中文字幕在线免费观看| 国内精品国产三级国产在线专| 欧美美女操人视频| 久久成人精品电影| 2020久久国产精品| 国产成人精品优优av| 亚洲激情视频在线| 成人在线观看视频网站| 欧美日韩国产成人在线观看| 亚洲天堂色网站| 国产成人精品视| 亚洲色图校园春色| 一区二区在线免费视频| 久久久久久久久久久成人| 色av吧综合网| 国产精品日日摸夜夜添夜夜av| 成人精品视频久久久久| 日韩欧美aⅴ综合网站发布| 久久久久久久av| 久久影院资源网| 91国产视频在线| 国产精品一区久久| 国产精品青青在线观看爽香蕉| 国产欧美 在线欧美| 欧美极品少妇xxxxx| 亚洲精品欧美日韩| 亚洲最大av网站| 久久在精品线影院精品国产| 亚洲人成欧美中文字幕| 亚洲第一免费网站| 中国人与牲禽动交精品| 欧美多人乱p欧美4p久久| 91po在线观看91精品国产性色| 国产亚洲在线播放| 欧美日韩美女视频| 国产精品男人的天堂| 成人国产精品日本在线| 国产精品大片wwwwww| 精品福利在线观看| 日韩美女免费视频| 国产成人精品a视频一区www| 国产精品偷伦免费视频观看的| 欧美巨大黑人极品精男| 久久夜色精品国产欧美乱| 国产精品www色诱视频| 另类少妇人与禽zozz0性伦| 4k岛国日韩精品**专区| 不卡av在线网站| 久久精品视频在线观看| 久久精品国产清自在天天线| 欧美国产日韩视频| 日韩中文字幕视频在线观看| 亚洲精品色婷婷福利天堂| 国产亚洲成av人片在线观看桃| 久久亚洲国产精品| 欧美黑人国产人伦爽爽爽| 成人动漫网站在线观看| 久久久免费电影| 伊人伊成久久人综合网站| 亚洲精品国产综合区久久久久久久| 日韩综合中文字幕| 日韩在线不卡视频| 日韩va亚洲va欧洲va国产| 国产精品视频男人的天堂| 欧美激情按摩在线| 国产一区二区动漫| 久久综合伊人77777| 久久精品一本久久99精品| 国产精品第10页| 亚州欧美日韩中文视频| 日韩国产欧美精品一区二区三区| 中文字幕亚洲在线| 成人免费网视频| 亚洲欧美另类人妖| 亚洲高清免费观看高清完整版| 亚洲精品91美女久久久久久久| 成人国产精品一区二区| 精品一区二区亚洲| 亚洲人成欧美中文字幕| 国产精品成熟老女人| 国产精品91免费在线| 91久久久久久久久| 国产精品国产三级国产aⅴ9色| 亚洲自拍偷拍色片视频| 欧美激情一级二级| 亚洲自拍中文字幕| 久久天天躁狠狠躁夜夜躁| 欧美高清在线视频观看不卡|