经过俩个星期的奋斗,易买网项目完工。在之前,实现图片的上传,走过许多弯路,原来是好多基础的知识忘记了,没把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>

易买网之smartupload实现文件上传的更多相关文章

  1. 基于Servlet+smartUpload的文件上传

    文件上传在web应用中是非常常见的,现在我就介绍下基于servlet的文件上传,基于Struts2的文件上传可以看: 页面端代码: <%@ page language="java&qu ...

  2. SmartUpload实现文件上传

    (一)SmartUpload组件简介 SmartUpload组件 专门用于实现文件上传及下载的免费组件   (二)SmartUpload组件特点 使用简单:编写少量代码,完成上传下载功能 能够控制上传 ...

  3. SmartUpload实现文件上传时file和表单文本同时提交的问题

    JSP页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  4. smartUpload组件文件上传

    public class SmartUploadServlet extends HttpServlet { public void doGet(HttpServletRequest request, ...

  5. 文件上传之 MultipartFile

    利用MultipartFile(组件)实现文件上传 在java中上传文件似乎总有点麻烦,没.net那么简单,记得最开始的时候用smartUpload实现文件上传,最近在工作中使用spring的Mult ...

  6. JSP文件上传--Smartupload组件

    把smartupload.jar copy到D:\apache-tomcat-7.0.57\lib下. 创建htm上传文件:smartupload_demo01.htm 由于是上传文件,需要对表单进行 ...

  7. 文件上传--基于Spring MVC框架+SmartUpload

    这篇文章是介绍文件上传的,由于在spring MVC上实现起来和直接在servlet中写有些不同,所以特地写了一下这篇文章,关于不同点,大家可以先阅读一下上一篇文章.好了,下面直接上代码. jab包是 ...

  8. SmartUpload文件上传组件的使用教程

    在项目中使用SmartUpload组件可以进行文件的上传和下载操作 使用步骤 1.导入jar包,进行build path操作 2.编写文件上传页面,代码如下 <form action=" ...

  9. java基础篇---文件上传(smartupload组件)

    文件上传几乎是所有网站都具有的功能,用户可以将文件上传到服务器的指定文件夹中,也可以保存在数据库中,本篇主要说明smartupload组件上传. 在讲解smartupload上传前,我们先来看看不使用 ...

随机推荐

  1. 51 nod 1079 中国剩余定理

    1079 中国剩余定理 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K % ...

  2. 用ZooKeeper做为注册中心搭建基于Spring Cloud实现服务注册与发现

    前提: 先安装好ZooKeeper的环境,搭建参考:http://www.cnblogs.com/EasonJim/p/7482961.html 说明: 可以再简单的理解为有两方协作,一个是服务提供这 ...

  3. SVM学习(续)核函数 & 松弛变量和惩罚因子

    SVM的文章可以看:http://www.cnblogs.com/charlesblc/p/6193867.html 有写的最好的文章来自:http://www.blogjava.net/zhenan ...

  4. iOS推断当前控制器是否在显示

    当点击一个cell或者button的事件,处理比較耗时,在异步线程中执行中.当子线程得到执行结果时可能不在当前控制器上了.此时我们须要取消子线程后边的事情. 此刻,当得到结果时须要推断是否在当前控制器 ...

  5. ffplay.c函数结构简单分析(绘图)

    近期重温了一下FFplay的源码. FFplay是FFmpeg项目提供的播放器演示样例.虽然FFplay不过一个简单的播放器演示样例,它的源码的量也是不少的. 之前看代码,主要是集中于某一个" ...

  6. Cache-control no-transform Robots Exclusion Protocol

    蜘蛛协议 <今日头条>支持蜘蛛协议(Robots Exclusion Protocol)"ToutiaoSpider",同时,我们尊重所有的网络媒体,如媒体不希望内容被 ...

  7. apache ua Custom Log Formats

    RewriteEngine OnRewriteBase / RewriteCond %{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|b ...

  8. 备忘录模式之C++实现

    说明:本文仅供学习交流.转载请标明出处,欢迎转载.  备忘录模式是一种比較简单的设计模式.该模式非常好地体现了一种面向对象的封装思想. 该模式的思想是用一个专门的备份类将当前的状态信息保存起来.在整个 ...

  9. influx测试——单条读性能很差,大约400条/s,批量写性能很高,7万条/s,总体说来适合IOT数据批量存,根据tag查和过滤场景,按照时间顺序返回

    测试准备 需要将InfluxDB的源码放入 go/src/github.com/influxdata 目录 单写测试代码(write1.go): package main import ( " ...

  10. PCB SQL SERVER 邮箱配置与发邮件

    一.开启SQL SERVER发邮件功能 --开启发邮件功能 reconfigure with override go reconfigure with override go 二.邮箱配置 1.代码创 ...