&">
 
网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  用 struts 向数据库中储存图片     
  文章作者:未知  文章来源:水木森林  
  查看:83次  录入:管理员--2007-11-17  
 
  这个例子是通过用struts的formfile来写入到mysql中。。。
  
  用用户通过选一个图片,然后按submit就可以存入数据库中
  
  其中先要建立一个表:
  
  create table test ( name varchar(20), pic blob );在mysql的test库中
  
  <%@ page language="java"%>
  <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
  <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
  
  <html>
  <head>
  <title>jsp for multiform form</title>
  </head>
  <body>
  <html:form action="/multi" enctype="multipart/form-data">一定要用enctype=“multipart/form-data“不然就提交之后就会有抛出异常
  file : <html:file property="file"/><html:errors property="file"/></br>
  name : <html:text property="name"/><html:errors property="name"/></br>
  <html:submit/><html:cancel/>
  </html:form>
  </body>
  </html>
  
  2. 相对应的actionform:
  
  //created by myeclipse struts
  // xsl source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.1/xslt/javaclass.xsl
  
  package saoo.struts.form;
  
  import org.apache.struts.action.actionform;
  import org.apache.struts.upload.formfile;
  
  /**
  * myeclipse struts
  * creation date: 08-24-2004
  *
  * xdoclet definition:
  * @struts:form name="multiform"
  */
  public class multiform extends actionform {
  
  // --------------------------------------------------------- instance variables
  
  /** file property */
  private formfile file;
  
  /** name property */
  private string name;
  
  // --------------------------------------------------------- methods
  
  /**
  * returns the file.
  * @return formfile
  */
  public formfile getfile() {
  return file;
  }
  
  /**
  * set the file.
  * @param file the file to set
  */
  public void setfile(formfile file) {
  this.file = file;
  }
  
  /**
  * returns the name.
  * @return string
  */
  public string getname() {
  return name;
  }
  
  /**
  * set the name.
  * @param name the name to set
  */
  public void setname(string name) {
  this.name = name;
  }
  }
  
  3. 对就的action:
  
  //created by myeclipse struts
  // xsl source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.1/xslt/javaclass.xsl
  
  package saoo.struts.action;
  
  import java.io.filenotfoundexception;
  import java.io.ioexception;
  import java.sql.connection;
  import java.sql.drivermanager;
  import java.sql.preparedstatement;
  import java.sql.sqlexception;
  
  import javax.servlet.http.httpservletrequest;
  import javax.servlet.http.httpservletresponse;
  
  import org.apache.struts.action.action;
  import org.apache.struts.action.actionform;
  import org.apache.struts.action.actionforward;
  import org.apache.struts.action.actionmapping;
  import org.apache.struts.upload.formfile;
  
  import saoo.struts.form.multiform;
  
  /**
  * myeclipse struts
  * creation date: 08-24-2004
  *
  * xdoclet definition:
  * @struts:action path="/multi" name="multiform" input="/form/multi.jsp" scope="request"
  */
  public class multiaction extends action {
  
  // --------------------------------------------------------- instance variables
  
  // --------------------------------------------------------- methods
  
  /**
  * method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return actionforward
  */
  public actionforward execute(
  actionmapping mapping,
  actionform form,
  httpservletrequest request,
  httpservletresponse response) {
  multiform multiform = (multiform) form;
  formfile file = multiform.getfile();
  
  string name = multiform.getname();
  try {
  class.forname("org.gjt.mm.mysql.driver");
  string url="jdbc:mysql:///test";
  connection con=drivermanager.getconnection(url,"root","password");
  string sql="insert into pic values (?,?)";
  preparedstatement ps =con.preparestatement(sql);
  ps.setstring(1, name);
  //加入图片到数据库
  ps.setbinarystream(2,file.getinputstream(),file.getfilesize());
  ps.executeupdate();
  ps.close();
  con.close();
  } catch (sqlexception se) {
  se.printstacktrace();
  return mapping.findforward("error");
  } catch (classnotfoundexception e) {
  // todo auto-generated catch block
  e.printstacktrace();
  return mapping.findforward("error");
  } catch (filenotfoundexception e) {
  // todo auto-generated catch block
  e.printstacktrace();
  return mapping.findforward("error");
  } catch (ioexception e) {
  // todo auto-generated catch block
  e.printstacktrace();
  return mapping.findforward("error");
  }
  return mapping.findforward("success");
  }
  }
 
 
上一篇: 一个高效简洁的struts分页方法    下一篇: struts开源之关于vo、po概念的理解
  相关文档
java面试中的陷阱 11-17
使用jspsmartupload上传下载全攻略详解 11-16
写了一个hta来转换资源文件格式 11-17
用 struts 向数据库中储存图片 11-17
struts测试框架strutstestcase实战 11-17
jsp/servlet/jsf:javaee 不再需要 ajax 12-26
关于java内存泄漏问题注意事项 11-20
j2me入门专题系列之二:应用程序与简表 11-17
使用技巧 如何用java读取excel文件内容 11-16
关于java中相对路径,绝对路径问题总结 02-25
使用xml-encryption实现安全soap消息 11-17
java入门--关于角色访问控制(rbac) 01-24
java接口的妙用 11-17
用java线程获取优异性能(ii)??使用同步连载线程访问关键代码.. 11-17
优秀的j2ee 开发工程师应该掌握的知识点 11-17
考虑使用静态工厂方法代替构造方法 11-17
关于bi与“数据仓库”在企业何时进行实施的讨论 11-17
java中引用,造型等问题解析 11-17
在netbeans ide下开发struts应用 11-17
j2ee web服务客户端质量报告(二) 11-16
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息