JSP初級(jí)教程之跟我學(xué)JSP(七)_JSP教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:JSP初級(jí)教程之跟我學(xué)JSP(六)第六章 jsp 實(shí)現(xiàn)畫(huà)柱狀統(tǒng)計(jì)圖 這一節(jié)的內(nèi)容是用jsp生成一個(gè)統(tǒng)計(jì)——統(tǒng)計(jì)一年內(nèi)每個(gè)月完成的報(bào)修任務(wù)量。 Java里和畫(huà)圖有關(guān)的是java.awt包,由于我構(gòu)想的圖只是由矩形組成,那么用到的方法也就這么幾個(gè):fillRect,drawRect,setColor,setFont,drawString。
第七章 “備注型”超長(zhǎng)文本的操作——Clob類(lèi)型數(shù)據(jù)的存取存放oracle留言板的正文內(nèi)容,用VARCHAR2()是不行的,VARCHAR2()(可變長(zhǎng)度的字符串)只能存4000字節(jié),也就是2000個(gè)漢字,這也太少了啊,查一下數(shù)據(jù)庫(kù)類(lèi)型的資料,發(fā)現(xiàn)有這么幾個(gè)類(lèi)型:
LONG,2G(要是我沒(méi)記錯(cuò)的話,它是為了向前兼容,不推薦使用);
CLOB,4G,字符;
BLOB,4G,二進(jìn)制。
看來(lái)超長(zhǎng)文本應(yīng)該使用CLOB了,圖片自然是用BLOB了,詢問(wèn)了一下別人,知道這兩種類(lèi)型是不能像VARCHAR2()那樣直接存的,只好作罷,先用VARCHAR2()頂一陣。
后來(lái)我終于有空了,決心要完成這個(gè)任務(wù),在網(wǎng)上查了一番資料,看了別人的例子,總算是無(wú)師自通看明白了:存的時(shí)候需要使用empty_clob()(這個(gè)不是Java的函數(shù))先存一個(gè)空的標(biāo)識(shí)(用我的理解就是先初始化一下),然后通過(guò)“流”將數(shù)據(jù)寫(xiě)入。下面是代碼,其中try里面的是CLOB類(lèi)型的存操作:
-----------------------------------save_new.jsp------------------------------------------
<%@ include file="include.inc"%>
<%@ page contentType="text/html;charset=gb2312" errorPage="request_error.htm"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無(wú)標(biāo)題文檔</title>
</head>
<body>
<%
String title = request.getParameter("title");
String kind=request.getParameter("kind");
String newtitle=title.replaceAll("’","’’");//用replaceAll()將text字串中所有的單引號(hào)改成連續(xù)兩個(gè)單引號(hào)
String text = request.getParameter("text");
//String text1=text.replaceAll("’","’’");存clob時(shí)不需將單引號(hào)改成連續(xù)兩個(gè)單引號(hào)
String text2=text.replaceAll("<","<");//用replaceAll()將字串中所有的<改成<
String newtext=text2.replaceAll(">",">");//用replaceAll()將字串中所有的>改成>
//replace只能處理單個(gè)字符��!
//改’是為了不影響數(shù)據(jù)庫(kù)的查詢語(yǔ)句
//改<>是防止網(wǎng)頁(yè)把他們生成標(biāo)簽,比如:<table>,<form>等
String author=session.getAttribute("name").toString();
out.println(author);
long ID=System.currentTimeMillis();//取得一個(gè)時(shí)間,從1970-1-1 0:00:00開(kāi)始到當(dāng)前時(shí)間的毫秒數(shù),用這個(gè)數(shù)作為該文章的ID標(biāo)識(shí)
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式化日期
java.util.Date currentTime_1 = new java.util.Date();//得到當(dāng)前系統(tǒng)時(shí)間
String strdate = formatter.format(currentTime_1); //將日期時(shí)間轉(zhuǎn)換成字符串形式
Connection con = null;
PreparedStatement stmt = null;//不能用Statement,我也不知道為什么,查了API,說(shuō)這個(gè)PreparedStatement可以用于
//高效的多次執(zhí)行語(yǔ)句,沒(méi)查到Statement這個(gè)類(lèi)
ResultSet rs = null;
try
{
Class.forName(CLASSFORNAME);//載入驅(qū)動(dòng)程式類(lèi)別
con=DriverManager.getConnection(SERVANDDB);//建立數(shù)據(jù)庫(kù)連接
con.setAutoCommit(false);//設(shè)置不自動(dòng)提交
String sql="insert into article(id,author,title,time,kind,text_clob) values (’"+ID+"’,’"+author+"’,’"+newtitle+"’,’"+strdate+"’,’"+kind+"’,empty_clob())";//我的數(shù)據(jù)庫(kù)中存文本的CLOB型字段名為:text_clob
stmt=con.prepareStatement(sql);//添加一條clob字段為空的記錄,
stmt.executeUpdate();//執(zhí)行
stmt=null;//下次使用前清空
sql="select text_clob from article where id=’"+ID+"’ for update";//正是由于這條語(yǔ)句,id這個(gè)標(biāo)識(shí)就必須得唯一�。。�!
//如果數(shù)據(jù)庫(kù)中已有一條記錄的id與當(dāng)前的id值相同,那么會(huì)查到那條記錄,也就無(wú)法向新插入的記錄中的clob字段進(jìn)行寫(xiě)入!
stmt=con.prepareStatement(sql);//查找剛剛添加的那條記錄
rs=stmt.executeQuery();
分享:JSP初級(jí)教程之跟我學(xué)JSP(五)第五章 jsp 分頁(yè)功能的實(shí)現(xiàn) 經(jīng)過(guò)上面的學(xué)習(xí)我漸漸熟悉了對(duì) 數(shù)據(jù)庫(kù) 的操作,留言板的功能也不斷的完善,隨著留言的增加信息的目錄越來(lái)越長(zhǎng)了,現(xiàn)在需要實(shí)現(xiàn)一個(gè)分頁(yè)功能了,我嘗試自己解決這個(gè)問(wèn)題。 1、我應(yīng)該把它的關(guān)鍵部分封裝成一個(gè)bean,使它盡可能的能
相關(guān)JSP教程:
- 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教程推薦
- J2ME開(kāi)發(fā)之手機(jī)鍵盤(pán)使用注意問(wèn)題
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- Apache Tomcat 5.5部署jsp項(xiàng)目總結(jié)之——發(fā)布JSP應(yīng)用程序
- J2ME Timer 使用指南
- 揭秘全面提升JSP應(yīng)用程序性能的七個(gè)方法
- AJAX實(shí)現(xiàn)web頁(yè)面級(jí)聯(lián)菜單
- JSP中 Session和作用域的使用
- 談java如何用getAddress方法取得IP地址
- 利用Java編寫(xiě)手機(jī)應(yīng)用程序 Motorola iDEN篇1
- jsp傳值本地?zé)o亂碼測(cè)試機(jī)出現(xiàn)亂碼問(wèn)題解決
猜你也喜歡看這些
- ssh生成隨機(jī)數(shù)字驗(yàn)證碼操作步驟
- MVC模式在j2me項(xiàng)目中的應(yīng)用二
- 淺談Tomcat常用調(diào)試技巧
- 基于Jave的Web服務(wù)工作機(jī)制5
- JSP Struts之HTML標(biāo)簽庫(kù)詳解
- Apache Tomcat 5.5部署jsp項(xiàng)目總結(jié)之——基本配置
- EJB初學(xué)者怎樣面對(duì)經(jīng)常有的十一個(gè)疑惑
- 在J2ME編程中使用Nokia的中文模擬器
- jsp 連接sql server 2008 連接不上的解決方法
- jsp傳值本地?zé)o亂碼測(cè)試機(jī)出現(xiàn)亂碼問(wèn)題解決
- 相關(guān)鏈接:
- 教程說(shuō)明:
JSP教程-JSP初級(jí)教程之跟我學(xué)JSP(七)
。