oracle+jsp中blob类型存储大文本问题解决方法
oracle 存储大文本一直是一个棘手的问题。
一、存数据库:
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%
//定义变量
java.sql.Connection conn; //数据库连接对象
String sql;
long id;
ResultSet rs;
Statement stmt,stmt1;
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //装载JDBC驱动程序
conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.2:1521:lqxm","lqxm","lqxm"); //连接数据库
request.setCharacterEncoding("GBK");
String title = request.getParameter("title");
String content = request.getParameter("content");
String sort = request.getParameter("sort");
String type = request.getParameter("type");
String rq = request.getParameter("rq");
String qy = request.getParameter("qy");
//插入数据,此时blob字段中插入的是空值
sql="insert into t_flfg (xlh,title,content,rq,sort,type,qy) ";
s ......
oracle+jsp中blob类型存储大文本问题解决方法
oracle 存储大文本一直是一个棘手的问题。
一、存数据库:
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%
//定义变量
java.sql.Connection conn; //数据库连接对象
String sql;
long id;
ResultSet rs;
Statement stmt,stmt1;
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //装载JDBC驱动程序
conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.2:1521:lqxm","lqxm","lqxm"); //连接数据库
request.setCharacterEncoding("GBK");
String title = request.getParameter("title");
String content = request.getParameter("content");
String sort = request.getParameter("sort");
String type = request.getParameter("type");
String rq = request.getParameter("rq");
String qy = request.getParameter("qy");
//插入数据,此时blob字段中插入的是空值
sql="insert into t_flfg (xlh,title,content,rq,sort,type,qy) ";
s ......
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<%@page import="java.net.*"%>
<%
String filename = "";
if (request.getParameter("file") != null) {
filename = request.getParameter("file");
}
response.setContentType("application/msword");
response.setHeader("Content-disposition","attachment; filename="+filename);
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(getServletContext().getRealPath("" + filename)));
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff,0,bytesRead);
}
} catch(final IOException e) {
System.out.println ( "出现IOException." + e );
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
}
return;
%>
详细出处参考:http://www.jb51.net/article/2631.htm ......
有的页面需要每次点击进去都动态更新,而不是读取缓存中的页面。
在JSP中可以这样实现:
<%
request.setCharacterEncoding("GBK");
response.addDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
%> ......
************************************************************************
分页的代码:
--------------CSS样式--------------
<style type="text/css">
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #333;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
body table tr td table tr {
background-color: #FFF;
}
.pages {
padding-bottom: 2px;
padding-left: 0px;
padding-right: 0px;
padding-top: 2px;
float:right;
}
.pages a {
border-bottom: 1px solid;
border-left: 1px solid;
padding-bottom: 0px;
line-height: 20px;
padding-left: 6px;
padding-right: 6px;
float: left;
height: 20px;
overflow: hidden;
border-top: 1px solid;
margin-right: 2px;
border-right: 1px solid;
padding-top: 0px;
border-bottom-color: #e6e7e1;
background-color: #fff;
border-top-color: #e6e7e1;
color: #09c;
border-right-color: #e6e7e1;
border-left-color: #e6e7e1
}
. ......
第一种 JavaScript连接数据库:
<mce:script language="JavaScript"><!--
// 创建数据库对象
var objdbConn = new ActiveXObject("ADODB.Connection");
// DSN字符串
var strdsn = "Driver={SQL Server};SERVER=192.168.0.210;UID=xhb;PWD=xhb;DATABASE=books";
// 打开数据源
objdbConn.Open(strdsn);
// 执行SQL的数据库查询
var objrs = objdbConn.Execute("SELECT * from book");
// 获取字段数目
var fdCount = objrs.Fields.Count - 1;
// 检查是否有记录
if (!objrs.EOF){
document.write("<table border=1><tr>");
// 显示数据库的字段名称
for (var i=0; i <= fdCount; i++)
document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>");
document.write("</tr>");
// 显示数据库内容
while (!objrs.EOF){
document.write("<tr>");
// 显示每笔记录的字段
for (i=0; i <= fdCount; i++)
document.write("<td valign='top'>" + objrs.Fields(i).Value + "</td>");
document.write("</tr>");
......
第一种 JavaScript连接数据库:
<mce:script language="JavaScript"><!--
// 创建数据库对象
var objdbConn = new ActiveXObject("ADODB.Connection");
// DSN字符串
var strdsn = "Driver={SQL Server};SERVER=192.168.0.210;UID=xhb;PWD=xhb;DATABASE=books";
// 打开数据源
objdbConn.Open(strdsn);
// 执行SQL的数据库查询
var objrs = objdbConn.Execute("SELECT * from book");
// 获取字段数目
var fdCount = objrs.Fields.Count - 1;
// 检查是否有记录
if (!objrs.EOF){
document.write("<table border=1><tr>");
// 显示数据库的字段名称
for (var i=0; i <= fdCount; i++)
document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>");
document.write("</tr>");
// 显示数据库内容
while (!objrs.EOF){
document.write("<tr>");
// 显示每笔记录的字段
for (i=0; i <= fdCount; i++)
document.write("<td valign='top'>" + objrs.Fields(i).Value + "</td>");
document.write("</tr>");
......
第一种 JavaScript连接数据库:
<mce:script language="JavaScript"><!--
// 创建数据库对象
var objdbConn = new ActiveXObject("ADODB.Connection");
// DSN字符串
var strdsn = "Driver={SQL Server};SERVER=192.168.0.210;UID=xhb;PWD=xhb;DATABASE=books";
// 打开数据源
objdbConn.Open(strdsn);
// 执行SQL的数据库查询
var objrs = objdbConn.Execute("SELECT * from book");
// 获取字段数目
var fdCount = objrs.Fields.Count - 1;
// 检查是否有记录
if (!objrs.EOF){
document.write("<table border=1><tr>");
// 显示数据库的字段名称
for (var i=0; i <= fdCount; i++)
document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>");
document.write("</tr>");
// 显示数据库内容
while (!objrs.EOF){
document.write("<tr>");
// 显示每笔记录的字段
for (i=0; i <= fdCount; i++)
document.write("<td valign='top'>" + objrs.Fields(i).Value + "</td>");
document.write("</tr>");
......
用的是MySql数据库,里面有数据库的脚步,运行bbs.sql文件就可以了。
用的MVC模式,用jsp 做显示页面,用servlet做控制层,用JavaBean做模型层
下载地址:
http://www.800disk.com/ContentPane.aspx?down=ok&filepath=lcbjava%2fMybbs.rar
把上面的地址复制到浏览器就可以下载 ......