你的位置:首页 > Java教程

[Java教程]易买网之smartupload实现文件上传


经过俩个星期的奋斗,易买网项目完工。在之前,实现图片的上传,走过许多弯路,原来是好多基础的知识忘记了,没把smartupload文件包添加组件jar包至WEB-INF/lib包中,在此特别重视,做下文件的上传。

第一步:创建商品实体类:

package entity;public class easybuy_productn {  private int ep_id ;//编号  private String ep_name ;//名字  private String ep_description ;//描述  private int ep_price;//价格  private int ep_stock ;//库存  private int epc_id ;//父类id  private int epc_child_id ;//二级id  private String ep_file_name ;//文件名  private int tiaoma ;//条码号  public int getEp_id() {    return ep_id;  }  public void setEp_id(int epId) {    ep_id = epId;  }  public String getEp_name() {    return ep_name;  }  public void setEp_name(String epName) {    ep_name = epName;  }  public String getEp_description() {    return ep_description;  }  public void setEp_description(String epDescription) {    ep_description = epDescription;  }  public int getEp_price() {    return ep_price;  }  public void setEp_price(int epPrice) {    ep_price = epPrice;  }  public int getEp_stock() {    return ep_stock;  }  public void setEp_stock(int epStock) {    ep_stock = epStock;  }  public int getEpc_id() {    return epc_id;  }  public void setEpc_id(int epcId) {    epc_id = epcId;  }  public int getEpc_child_id() {    return epc_child_id;  }  public void setEpc_child_id(int epcChildId) {    epc_child_id = epcChildId;  }  public String getEp_file_name() {    return ep_file_name;  }  public void setEp_file_name(String epFileName) {    ep_file_name = epFileName;  }  public int getTiaoma() {    return tiaoma;  }  public void setTiaoma(int tiaoma) {    this.tiaoma = tiaoma;  }}

第二步:编写sql:

//添加商品public int Produt(String epName, String epDescription, int epPrice,    int epStock, int epcId, String epFileName,String ep_name_tiaoma) {    //创建数据库的链接   con=this.getConnection();    //创建int值确认是否插入成功  int i=0;    //创建sql语句  String sql="insert into easybuy_productn values(easybuy_productn_seq.nextval,?,?,?,?,?,'',?,?)";    try {    //写入sql    st=con.prepareStatement(sql);    st.setString(1, epName);    st.setString(2, epDescription);    st.setInt(3, epPrice);    st.setInt(4, epStock);    st.setInt(5, epcId);    st.setString(6, epFileName);    st.setString(7, ep_name_tiaoma);        //开始执行sql    i=st.executeUpdate();        //开始判断    if(i>0){      i=1;    }else{      i=0;    }    //释放链接    this.ShiFang(rs, st, con);      } catch (SQLException e) {    // TODO Auto-generated catch block    e.printStackTrace();  }        return i;}

添加商品jsp页面

<h2>添加商品</h2>    <div class="manage">      <form action="manage/MyJsp.jsp" method="post" enctype="multipart/form-data">        <table class="form">          <tr>            <td class="field">描述描述:</td>            <td><input type="text" class="text" name="productName" id="productscript" value="铁三角 Audio-Technica ATH-EQ300M-SV 银色 挂耳式耳机" /></td>          </tr>                    <tr>            <td class="field">所属分类:</td>            <td>            <select name="parentId">               <c:forEach var="news" items="${requestScope.flist1}" >             <option value="1">${news.epc_name}</option>                           <c:forEach var="ck" items="${flist}" >         <c:if test="${ck.epc_parent_id == news.epc_id}">                <option value="3">${ck.epc_name}</option>                </c:if>               </c:forEach>                </c:forEach>                              </select>            </td>          <tr>            <td class="field">头像:</td>            <td><input type="file" name="fileg" id="imgOne" onchange="preImg(this.id,'imgPre');"/></td>          </tr>          <tr>        <td>头像预览:</td>        <td><img id="imgPre" src="" style="width:150px;height:150px;display:block;"/></td>         </tr>          <tr>            <td class="field">商品价格:</td>            <td><input type="text" class="text tiny" name="productPrice" id="productPrice" /> 元</td>          </tr>          <tr>            <td class="field">名称:</td>            <td><input type="text" class="text" name="productName2" id="productName" /></td>          </tr>          <tr>            <td class="field">库存:</td>            <td><input type="text" class="text tiny" name="productName3" id="producstock"/></td>          </tr>            <tr>            <td class="field">条号码:</td>            <td><input type="text" class="text tiny" name="productName4" id="producstock"/></td>          </tr>                            <tr>            <td></td>            <td><label class="ui-blue"><input type="submit" name="submit" value="添加" /></label></td>          </tr>        </table>      </form>

处理页面:

<%//----处理上传文件/*  使用smartupload    1、添加组件jar包至WEB-INF/lib包中    2、设置form表单的提交类型为二进制类型*///创建smartupload组件SmartUpload su = new SmartUpload();//初始化组件上下文su.initialize(pageContext);//设置编码su.setCharset("utf-8");try{  //上传文件  su.upload();}catch(Exception e){  %>    <script type="text/javascript">      alert("不允许上传:bat,exe,jsp,html,htm,java,class文件类型");      location.href="index.jsp";    </script>  <%}//获取单个文件File file = su.getFiles().getFile(0);//设置上传服务器的位置String path2 = "upload\\";//得到上传文件的名称String filename = file.getFileName();//上传文件的路径path2 = path2 + filename;//保存文件file.saveAs(path2,SmartUpload.SAVE_VIRTUAL);//获取图片显示路径String path3="upload\\"+filename;//获取用户的名称String productName = su.getRequest().getParameter("productName");//获取用户的分类int parentId = Integer.parseInt(su.getRequest().getParameter("parentId"));//获取用户价格int productPrice=Integer.parseInt(su.getRequest().getParameter("productPrice"));//获取用户的品牌String productName2=su.getRequest().getParameter("productName2");//获取用户的库存int productPrice3=Integer.parseInt(su.getRequest().getParameter("productName3"));//获取用户的条码号String productPrice5=su.getRequest().getParameter("productName4");//实例化添加对象productnBiz product=new productnBizImpl();//调用查询方法int i=product.Produt(productName2,productName,productPrice,productPrice3,parentId,path3,productPrice5);//判断添加新闻是否成功if(i>0){      out.print("<script>");    out.print("alert('添加成功');");    out.print("location.href='product.jsp';");    out.print("</script>");}else{  request.getRequestDispatcher("product-add.jsp").forward(request,response);}%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head>   <title>My JSP 'Product_Add.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="This is my page">  <!--  <link rel="stylesheet" type="text/css" href="styles.css">  --> </head>  <body>  This is my JSP page. <br> </body></html>