这个例子是通过用Struts的FormFile来写入到MySQL中。。。
用用户通过选一个图片,然后按submit就可以存入数据库中
其中先要建立一个表:
create table test ( name varchar(20), pic blob );在MySQL的test库中
1<%@ page language="java"%>
2<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
3<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
4
5<html>
6 <head>
7 <title>JSP for multiForm form</title>
8 </head>
9 <body>
10 <html:form action="/multi" enctype="multipart/form-data">一定要用enctype=“multipart/form-data“不然就提交之后就会有抛出异常
11 file : <html:file property="file"/><html:errors property="file"/></br>
12 name : <html:text property="name"/><html:errors property="name"/></br>
13 <html:submit/><html:cancel/>
14 </html:form>
15 </body>
16</html>
17
182. 相对应的ActionForm:
19
20//Created by MyEclipse Struts
21// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.1/xslt/JavaClass.xsl
22
23package saoo.struts.form;
24
25import org.apache.struts.action.ActionForm;
26import org.apache.struts.upload.FormFile;
27
28/** *//**
29 * MyEclipse Struts
30 * Creation date: 08-24-2004
31 *
32 * XDoclet definition:
33 * @struts:form name="multiForm"
34 */
35public class MultiForm extends ActionForm {
36
37 // --------------------------------------------------------- Instance Variables
38
39 /** *//** file property */
40 private FormFile file;
41
42 /** *//** name property */
43 private String name;
44
45 // --------------------------------------------------------- Methods
46
47 /** *//**
48 * Returns the file.
49 * @return FormFile
50 */
51 public FormFile getFile() {
52 return file;
53 }
54
55 /** *//**
56 * Set the file.
57 * @param file The file to set
58 */
59 public void setFile(FormFile file) {
60 this.file = file;
61 }
62
63 /** *//**
64 * Returns the name.
65 * @return String
66 */
67 public String getName() {
68 return name;
69 }
70
71 /** *//**
72 * Set the name.
73 * @param name The name to set
74 */
75 public void setName(String name) {
76 this.name = name;
77 }
78}
79
803. 对就的Action:
81
82//Created by MyEclipse Struts
83// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.1/xslt/JavaClass.xsl
84
85package saoo.struts.action;
86
87import java.io.FileNotFoundException;
88import java.io.IOException;
89import java.sql.Connection;
90import java.sql.DriverManager;
91import java.sql.PreparedStatement;
92import java.sql.SQLException;
93
94import javax.servlet.http.HttpServletRequest;
95import javax.servlet.http.HttpServletResponse;
96
97import org.apache.struts.action.Action;
98import org.apache.struts.action.ActionForm;
99import org.apache.struts.action.ActionForward;
100import org.apache.struts.action.ActionMapping;
101import org.apache.struts.upload.FormFile;
102
103import saoo.struts.form.MultiForm;
104
105/** *//**
106 * MyEclipse Struts
107 * Creation date: 08-24-2004
108 *
109 * XDoclet definition:
110 * @struts:action path="/multi" name="multiForm" input="/form/multi.jsp" scope="request"
111 */
112public class MultiAction extends Action {
113
114 // --------------------------------------------------------- Instance Variables
115
116 // --------------------------------------------------------- Methods
117
118 /** *//**
119 * Method execute
120 * @param mapping
121 * @param form
122 * @param request
123 * @param response
124 * @return ActionForward
125 */
126 public ActionForward execute(
127 ActionMapping mapping,
128 ActionForm form,
129 HttpServletRequest request,
130 HttpServletResponse response) {
131 MultiForm multiForm = (MultiForm) form;
132 FormFile file = multiForm.getFile();
133
134 String name = multiForm.getName();
135 try {
136 Class.forName("org.gjt.mm.mysql.Driver");
137 String url="jdbc:mysql:///test";
138 Connection con=DriverManager.getConnection(url,"root","password");
139 String sql="insert into pic values (?,?)";
140 PreparedStatement ps =con.prepareStatement(sql);
141 ps.setString(1, name);
142//加入图片到数据库
143 ps.setBinaryStream(2,file.getInputStream(),file.getFileSize());
144 ps.executeUpdate();
145 ps.close();
146 con.close();
147 } catch (SQLException se) {
148 se.printStackTrace();
149 return mapping.findForward("error");
150 } catch (ClassNotFoundException e) {
151 // TODO Auto-generated catch block
152 e.printStackTrace();
153 return mapping.findForward("error");
154 } catch (FileNotFoundException e) {
155 // TODO Auto-generated catch block
156 e.printStackTrace();
157 return mapping.findForward("error");
158 } catch (IOException e) {
159 // TODO Auto-generated catch block
160 e.printStackTrace();
161 return mapping.findForward("error");
162 }
163 return mapping.findForward("success");
164 }
165}
166
分享到:
相关推荐
使用Struts实现了向MySQL数据库中存储图片的功能。有一些问题没能解决:中文乱码问题,上传图片不能太大等等。虽然不太完善,作为参考还是可以的
这个例子是通过用Struts的FormFile来写入到MySQL中。用户通过选一个图片,然后按submit就可以存入数据库中。
用struts2+jdbc实现图片的存储与显示(图片存储在数据库内)
Struts用 JDBC Blob字段 保存和读取 Oracle 数据库 好用 试过 有详细注释
该项目是一个实现数据库图片的存储和显示的系统。通过把图片转换为二进制数值,并作为参数传入、传出数据库来完成图片...该项目应用了struts框架,数据库为SQL Se据源名称为login,数据库名为login,存储图片的表名为p
二、Hibernate部分 三、Action部分 四、struts.xml部分
struts+mybatis+spring+框架整合+数据库.zip
自己上传玩的,struts2+hibernate3
用户上传的照片先统一保存在一个临时文件夹中,之后可以用 <img> 指向临时文件夹中的这个图片,让用户可以预览自己上传的照片。当所有的用户信息都收集完成后,将图片和其他信息一并提交,保存到数据库中。保存成功...
实现了struts2通过jdbc连接mysql数据库进行数据存储及从数据库中 查询出数据并显示到页面(jsp页面使用了struts2标签)上
本书从数据库的基础知识、软件开发环境的构建以及JSP,Veloctiy,OJB,Struts等常用技术的基础知识入手,通过多个完整的实例讲解了使用Java语言进行软件开发的流程和方法。 书中选取的实例,既注重实例的多样性,也...
eclipse开发工程包 基于Struts2的简单购物车 非常简单一共只有4个跳转页面 JDBC访问MySQL数据库存储读取数据 需要配置一下dao文件中的JDBC配置运行其中main[]建立数据库就 关联下tomcat中的外链可以使用了
重写session机制,默认session是以临时文件形式存储在服务器,将session写入数据库,建表和注释写的都很清晰,已测试
struts进行文件上传,并存储到数据库中,再从数据库中获取文件链接进行下载
6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 7.1.2 为什么要使用Ant 7.2 建立Ant的开发环境 7.2.1 下载Ant 7.2.2 配置Ant 7.3 Ant的使用方法 7.3.1 Ant能完成的...
uploadfy+easyui+struts+json文件上传 ...其中只在action中模拟接收文件,存储文件到指定目录,但是没有跟数据库打交道。 但是这个跟数据库打交道的问题,大家很容易解决了。无论SSH还是SSI还是什么的
这是一个完整的上传例子,用的mysql数据库,数据库中存储上传的路径,数据库中只有一个id(主键),和一个其他字段,
6.3.6 在代码中使用Log4j 6.4 改进Log4j 6.5 小结 第七章 Ant使用指南 7.1 Ant介绍 7.1.1 Ant简介 7.1.2 为什么要使用Ant 7.2 建立Ant的开发环境 7.2.1 下载Ant 7.2.2 配置Ant 7.3 Ant的使用方法 7.3.1 Ant能完成的...
Struts+Spring+Mybatis+EasyUI(jQuery)注解案例。采用注解的方式跟踪代码依赖性,实现替代配置文件功能。里面包含了平时用的增删改查及分页,分页查询时用的是存储过程,提高了数据库的性能。代码简单、易懂。
用JSP写的一个完整网站,基于Struts架构,可实现换发功能,预定理发师,拥有后台管理,图像存储与读取于数据库。