网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  用struts向mysql数据库中储存图片实例     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:108次  录入:管理员--2007-11-16  
 

这个例子是通过用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");
    }
}

 
 
上一篇: b/s应用开发中代码与视图模板分离技巧    下一篇: java对象持久化技术hibernate入门之二
  相关文档
java基础 spring中如何加载多个配置文件 03-31
用javamail发送带附件的email 11-16
如何用hibernate实现分页查询 11-17
理解类加载器:j2ee 环境下的 log4j 11-17
java.net 操练 11-17
weblogic server9新特性:j2ee libraries 11-17
在myeclipse快速搭建hibernate应用 11-17
使用vector获取页面数值画折线图 11-16
有状态会话 bean运行结束时应及时被显示删除 11-17
一个jsp文件编写 保存bug的原因及修改 11-17
native2ascii命令的一种用法! 11-17
think in java stream 经典 11-17
高级--深入浅析spring的一些负面因素 02-26
java socket编程之三 11-17
servlet 容器的工作原理 ( 二 ) 11-17
wap手机上的问卷调查系统的构建 11-17
aop概念 11-17
jakarta commons实现beancomparator 11-17
老话题,javabean实现多文件上传 11-17
java 中的 xml:文档模型,第一部分:性能 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息