没这么用过。
通常都是通过PreparedStatement来操作数据库。
通常都是通过PreparedStatement来操作数据库。
解决方案 »
- jbpm如何进行开发
- java怎么部署WebService
- struts 的<html:text />没有 autocomplete 属性怎么办?
- 在线等,只要点通我,马上给分,看了篇jsp安全的文章,从昨天晚上到现在没搞清楚,想骂街了都....
- 关于内外网的问题
- struts重定向问题
- 从jsp发送请求到servlet出错
- 计费系统
- ACTION BEAN如何调用JSP页面中的USEBEAN创建的实例?
- tomcat启动时自动退出怎么解决?????-----在线等
- 一个难找的错误,不知道是为什么?请高手指教!大大分
- 如何设置[tomcat]无论访问那个目录都自动找当前目录下的index.jsp或index.htm等等。
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import ="javax.servlet.http.*" %>
<%@ page import ="javax.naming.InitialContext" %>
<%@ page import ="javax.rmi.PortableRemoteObject" %>
<%@ page import ="java.util.Properties "%>
<%@ page import ="java.math.BigDecimal"%>
<%@ page import ="javax.naming.Context" %>
<%@ page import ="com.ccmis.util.upload.*" %>
<%@ page import ="java.io.*" %>
<%@ page import ="java.util.*" %>
<%@ page import ="java.text.*" %>
<%@ page import ="java.sql.*" %>
<%@ page import ="oracle.sql.*" %>
<%@ page import ="oracle.jdbc.*" %>
<%
//实例化上载bean
com.ccmis.util.upload.SmartUpload mySmartUpload=new com.ccmis.util.upload.SmartUpload();
//初始化
mySmartUpload.initialize(pageContext);
//设置上载的最大值
mySmartUpload.setMaxFileSize(500 * 1024*1024);
//上载文件
mySmartUpload.upload(); //循环取得所有上载的文件
//for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
//取得上载的文件
com.ccmis.util.upload.File myFile = mySmartUpload.getFiles().getFile(0);
if (!myFile.isMissing())
{
//取得上载的文件的文件名
String documentID=mySmartUpload.getRequest().getParameter("documentID");
System.out.println(documentID);
String degree=mySmartUpload.getRequest().getParameter("degree");
System.out.println(degree);
String year1=mySmartUpload.getRequest().getParameter("year1");
String month1=mySmartUpload.getRequest().getParameter("month1");
String day1=mySmartUpload.getRequest().getParameter("day1");
String comeDocumentTime=day1+"-"+month1+"月-"+year1;
String documentNo=mySmartUpload.getRequest().getParameter("documentNo");
String documentType=mySmartUpload.getRequest().getParameter("documentType");
System.out.println(documentType);
String comeType=mySmartUpload.getRequest().getParameter("comeType");
System.out.println(comeType);
String department=mySmartUpload.getRequest().getParameter("department");
String documentTitle=mySmartUpload.getRequest().getParameter("documentTitle");
String scholium=mySmartUpload.getRequest().getParameter("scholium");
String hz=mySmartUpload.getRequest().getParameter("hz");
String myFileName=myFile.getFileName();
System.out.println(myFileName);
//取得不带后缀的文件名
String suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));
//取得后缀名
String ext= mySmartUpload.getFiles().getFile(0).getFileExt();
//取得文件的大小
int fileSize=myFile.getSize();
//保存路径
String aa= getServletConfig().getServletContext().getRealPath("/");
String trace=aa+myFileName;
System.out.println(trace);
//取得别的参数
// String explain=(String)mySmartUpload.getRequest().getParameter("text");
String filename=(String)mySmartUpload.getRequest().getParameter("filename");
out.print(filename);
//将文件保存在服务器端
myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
//下面的是将上载的文件保存到数据库中
//将文件读到流中
java.io.File file = new java.io.File(trace);
java.io.FileInputStream fis = new java.io.FileInputStream(file);
byte []but=new byte[fis.available()];
fis.read(but);
out.println(file.length());
//数据库插入操作
String fileName="";
try
{
// 设置所用驱动
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 初始化连接
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:ems","","");
Statement stmt = conn.createStatement();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte buf[]=new byte[1024];
int length=-1;
while((length=fis.read(buf))!=-1)
{
baos.write(buf,0,length);
}conn.setAutoCommit(false);fileName=file.getName();
int i=999;
stmt.executeUpdate("insert into images(imageid,name,data,length) values("+i+",'"+fileName+"',empty_blob(),"+file.length()+")");
//下面必须SELECT得到BLOB的对象再向里写:
ResultSet rs = stmt.executeQuery("select data from images where name='"+fileName+"' for update" );
if(rs.next())
{
Blob blob = rs.getBlob(1);
OutputStream outStream = ((oracle.sql.BLOB)blob).getBinaryOutputStream();
byte[] b = new byte[((oracle.sql.BLOB)blob).getBufferSize()];
InputStream fin = new FileInputStream(file);
int len = 0;
while( (len = fin.read(b)) != -1)
outStream.write(b,0,len);
fin.close();
outStream.close();
conn.commit();
}
System.out.println("插入:"+fileName);
} catch(Exception e){}
out.println(("上载成功!!!").toString());
}
else
{ System.out.println(("上载失败!!!").toString()); }
// }//与前面的if对应%>