中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 用户界面
教您如何用Struts向数据库中储存图片
作者:ytfh 时间:2006-09-21 08:08 出处:Java研究组织 责编:月夜寒箫
              摘要:教您如何用Struts向数据库中储存图片

这个例子是通过用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");
            }
            }
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有