网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.java 应用程序 标题栏图标 的 自.
.如何制作动画程序.
.java设计模式之创建模式--single.
.驯服Tiger之深入研究枚举类型.
.在Java中如何模拟多继承.
.Java学习路径(二)书籍篇.
.为 SWT Windows桌面程序定制适合.
.3D编程指南第四部分:M3G内建碰撞.
.在基于MIDP的应用程序上使用JDBC.
.Struts+Spring+Hibernate实现上传.
.使用UML编写Java应用程序 (1).
.struts构建文件上传(六).
.选取合适的dHtml Grid方案.
.JDBC到底是怎么连上数据库的?.
.John Hancock互助人寿保险公司.
.创建通过 WDO访问数据的 JSF 应用.
.J2EE项目执行:若干最佳实践.
.Java Web Start 技术.
.struts+hibernate例子(原创).
.设计移动 Web 服务.

用 struts 向数据库中储存图片

发表日期:2008-1-5



  这个例子是通过用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开源之关于VO、PO概念的理解 人气:780
下一篇:一个高效简洁的Struts分页方法 人气:1680
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐