添加商品功能的实现

Jsp页面设置:

<formaction="${pageContext.request.contextPath}/AddProdServlet" method="post" enctype="multipart/form-data">

</form>

Servlet相关操作:

//因为要传表单中的名称,以及值,所以创建map进行存放

Map<String, String> map = new HashMap<String, String>();

// 创建DiskFileItemFactory对象,设置缓冲区大小和临时文件目录

DiskFileItemFactory factory = new DiskFileItemFactory();

factory.setSizeThreshold(1024*100);

factory.setRepository(new File(this.getServletContext()

.getRealPath("/WEB-INF/tmp")));

// 使用DiskFileItemFactory 对象创建ServletFileUpload对象,并设置上传文件的大小限制。

ServletFileUpload fileUpload = new ServletFileUpload(factory);

//检查是否是正确的文件上传表单

if(!fileUpload.isMultipartContent(request))

{

throw new RuntimeException("请用正确的表单进行上传");

}

//设置单个文件上传的大小:

fileUpload.setFileSizeMax(1024 * 10204 * 5);

//设置文件上传的总大小:

fileUpload.setSizeMax(1024 * 10204 * 200);

//对上传的内容进行解析

List<FileItem> list = fileUpload.parseRequest(request);

//遍历上传的文件内容

for (FileItem item : list) {

//如果上传的内容是表单内容(也就是不带文件的内容)

if (item.isFormField()) {

//将表单中获得的名称获取

String name = item.getFieldName();

//将内容获取,内容为utf-8编码方式

String value = item.getString("utf-8");

//将名称和值放置到map中;

map.put(name, value);

} else {

//否则是带有文件的内容

String name = item.getName();

// 创建随机名称,这样能够将上传的商品图片名称唯一

String uuidName = UUID.randomUUID().toString() + name;

// 创建文件保存的物理路径

String path = this.getServletContext().getRealPath(

"/WEB-INF/upload");

//获取文件的hash

int hashCode = uuidName.hashCode();

//将文件的hash值转换成十六进制的字符串

String hashStr = Integer.toHexString(hashCode);

// 讲获取的hashStr转换成数组

char hss[] = hashStr.toCharArray();

//初始化图片上传的目录是upload文件夹下

String imgurl= "/WEB-INF/upload";

//为了让图片上传的文件夹保存的图片均衡,遍历

for (char c : hss) {

path += "/" + c;

imgurl += "/" + c;

}

imgurl += "/" + uuidName;

//将图片url放在map

map.put("imgurl", imgurl);

//创建文件夹

new File(path).mkdirs();

System.out.println(path);

// 文件的读写

InputStream in = item.getInputStream();

OutputStream out = new FileOutputStream(new File(path,uuidName));

IOUtils.In2Out(in, out);

IOUtils.close(in, out);

// 删除临时文件

item.delete();

PicUtils picUtils = new PicUtils(path+"/"+uuidName);

picUtils.resizeByHeight(100);

}

}

Prod prod = new Prod();

//map中的值映射到商品中

BeanUtils.populate(prod, map);

service.addProd(prod);

//3 提示成功,返回首页

response.getWriter().write("添加商品成功!3秒回首页");

response.setHeader("Refresh", "3;url="+request.getContextPath()+"/index.jsp");

} catch (Exception e) {

e.printStackTrace();

}

Service相关操作:

public void addProd(Prod prod) {

dao.addProd(prod);  

}

Dao相关操作:

//定义sql语句,插入商品名、商品价格、商品种类,商品库存,商品图片地址,商品描述

String sql = "insert into products values (null,?,?,?,?,?,?)";

QueryRunner runner = new QueryRunner(DaoUtils.getSource());

try {

runner.update(sql,prod.getName(),prod.getPrice(),prod.getCategory(),prod.getPnum(),prod.getImgurl(),prod.getDescription());

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目录 1 系统概述……………………………………………………………1 2 系统分析……………………………………………………………2 2.1 网上商城简介………………………………………………………2 2.2 相关实现技术介绍…………………………………………………4 2.2 需求分析……………………………………………………………7 2.3 可行性析……………………………………………………………9 3 总体设计……………………………………………………………11 3.1 项目规划…………………………………………………………11 3.2 系统功能结构图…………………………………………………11 3.3. .购物流程图……………………………………………………13 4 系统设计……………………………………………………………14 4.1 设计目标……………………………………………………………14 4.2 开发及运行环境……………………………………………………14 4.3 数据库设计…………………………………………………………14 5 JavaBean的编写……………………………………………………16 5.1 数据库操作的JavaBean的编写…………………………………16 5.2 字符串处理的JavaBean的编写…………………………………20 5.3 商品JavaBean的编写……………………………………………22 5.4 保存购物信息的JavaBean的编写………………………………22 5.5 对商品信息操作的接口的JavaBean的编写……………………23 5.6 对商品信息操作的JavaBean的编写……………………………23 6 网站前台主要功能模块设计………………………………………26 6.1 网站前台首页设计…………………………………………………26 6.2 特价商品模块设计…………………………………………………27 6.3 新品上架模块设计…………………………………………………29 6.4 商品分类模块设计…………………………………………………30 6.5 会员管理模块设计…………………………………………………32 7 网站后台主要功能模块设计…………………………………………36 7.1 后台登陆模块设计…………………………………………………36 7.2 会员管理模块设计…………………………………………………38 7.3 退出系统模块设计…………………………………………………38 8 系统实施与评价………………………………………………………40 9 参考文献………………………………………………………………41 附录 数据表……………………………………………………………42

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世润

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值