struts连接数据库:用Struts向MYSQL数据库中储存图片例子
这个例子是通过用Struts
FormFile来写入到MySQL中
用户通过选
个图片
然后按submit就可以存入数据库中
其中先要建立
个表:
create table test
( name varchar(20),
pic blob );
在MySQLtest库中
<%@ 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 MultiForm extends ActionForm
{
// ----------------
Instance Variables
/** file property */
private FormFile file;
/** name property */
private String name;
// -----------------
Methods
/**
* Returns the file.
* @ FormFile
*/
public FormFile getFile
{
file;
}
/**
* Set the file.
* @param file The file to
*/
public void File(FormFile file)
{
this.file = file;
}
/**
* Returns the name.
* @ String
*/
public String getName
{
name;
}
/**
* Set the name.
* @param name The name to
*/
public void Name(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 MultiAction extends Action
{
// ---------------
Instance Variables
// ---------------
Methods
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @ 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 o pic values (?,?)";
PreparedStatement ps
=con.prepareStatement(sql);
ps.String(1, name);
//加入图片到数据库
ps.BinaryStream
(2,file.getInputStream,
file.getFileSize);
ps.executeUpdate;
ps.close;
con.close;
} catch (SQLException se)
{
se.prStackTrace;
mapping.findForward("error");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.prStackTrace;
mapping.findForward("error");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.prStackTrace;
mapping.findForward("error");
} catch (IOException e) {
// TODO Auto-generated catch block
e.prStackTrace;
mapping.findForward("error");
}
mapping.findForward("success");
}
}
延伸阅读
- 2011-5-25-- 数据库主从,windows环境下mysql数据库的主从同步备份步骤(单向同步)
- 2011-5-25-- mysql数据库,mysql 查询数据库中的存储过程与函数的语句
- 2011-4-26-- 数据库dba,MySQL数据库常用操作和技巧(DBA必备知识)
- 2011-4-26-- mysql数据库,让MySQL数据库跑的更快 为数据减肥
- 2011-4-26-- 数据库存储引擎,MySQL数据库存储引擎和分支现状分析
- 2011-5-23-- mysql下载,mysql
- 2010-12-20-- mysql数据库,使用mysql数据库出现error150错误的原因及...
- 2010-12-15-- mysql数据库,PHP中操作MySQL数据库的注意事项
- 2010-12-13-- mysql数据库,MySQL优化全攻略-相关数据库命令
- 2010-12-9-- mysql数据库,MySQL被并购,开源数据库将倒退十年
最新评论