虛掩的門

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            10 Posts :: 23 Stories :: 5 Comments :: 0 Trackbacks

          這個例子是通過用Struts的FormFile來寫入到MySQL中。。。

          用用戶通過選一個圖片,然后按submit就可以存入數據庫中

          其中先要建立一個表:

          create table test ( name varchar(20), pic blob );在MySQL的test庫中

          <%@ page language="java"%>
          <%@ taglib uri="<%@ taglib uri="?
          <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");
          ??? }

          }



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=83071

          相關文章:

          posted on 2006-09-07 10:57 Hardy虛掩的門 閱讀(149) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 额济纳旗| 晋宁县| 通化市| 揭西县| 衡阳县| 汶川县| 会同县| 普兰店市| 池州市| 昆山市| 玉龙| 磐石市| 大渡口区| 福清市| 金阳县| 科尔| 博乐市| 石家庄市| 安图县| 福清市| 桓台县| 灵璧县| 绥滨县| 垣曲县| 石屏县| 禹城市| 武川县| 贵阳市| 徐汇区| 湾仔区| 青岛市| 镇安县| 高青县| 长宁县| 集贤县| 天长市| 兖州市| 古浪县| 平定县| 双城市| 长宁区|