易买网项目商品管理mysql_就易买网项目总结

本文是关于易买网项目的总结,主要涉及新闻管理和商品管理功能的实现。在新闻管理中,实现了增、删、改、查操作;在商品管理中,同样实现了这些操作,并且包括了图片上传功能。此外,还介绍了使用jQuery特效和MD5加密的方法。
摘要由CSDN通过智能技术生成

易买网项目总结

项目辅导教师-----原玉明

不知不觉又过了一个学期了,已然到了S2,懵懵懂懂的又要开始书写易买网项目了。回想当初书写易买网时的一无所知,到现在的略懂一二,我也学会了很多,有团队的合作精神、个人代码的书写能力等。下面简单介绍一下我书写易买网的功能点。

1.新闻管理

首先,在dao.impl中写新闻的增、删、改、查方法。增加方法是向数据库中添加一条数据,所以不需要传id,id为自增列。删除、修改、查询方法都是根据用户点击某一条数据获取id来进行操作。

1 //添加新闻

2 public boolean AddNews(News news) throwsException {3 boolean flag=false;4 String sql="insert into EASYBUY_NEWS values(?,?,?)";5 Object[] ob={6 news.getTitle(),7 news.getContent(),8 news.getTime()9 };10 int num=executeUpdate(sql,ob);11 if (num>0) {12 flag=true;13 }14 returnflag;15 }

1      /**

2 * 新闻修改功能3 */

4 public boolean UpdateNews(News news)throwsException {5 boolean flag=false;6 String sql="update EASYBUY_NEWS set EN_TITLE=?,EN_CONTENT=?,EN_CREATE_TIME=? where En_ID=?";7 Object[] ob={8 news.getTitle(),9 news.getContent(),10 news.getTime(),11 news.getId()12 };13 int num=executeUpdate(sql,ob);14 if (num>0) {15 flag=true;16 }17 returnflag;18 }

1 //查询新闻

2 public List selectNews() throwsException {3 List list=new ArrayList();4 String sql="select * from EASYBUY_NEWS";5 ResultSet rs=executeQuery(sql);6 if (rs!=null) {7 while(rs.next()){8 News news=newNews();9 news.setId(rs.getInt("en_id"));10 news.setTitle(rs.getString("en_title"));11 news.setContent(rs.getString("en_content"));12 news.setTime(rs.getString("en_create_time"));13 list.add(news);14 }15 }16 returnlist;17 }

1 //删除新闻

2 public boolean DelNewsInfo(int id) throwsException{3 boolean flash=false;4 String sql="delete EASYBUY_NEWS where EN_ID=?";5 Object[] objs={id};6 int num=executeUpdate(sql, objs);7 if (num>0) {8 flash=true;9 }10 returnflash;11 }

在servlet中调用方法,然后转发到响应页面,在页面中进行调用。

2.商品管理

商品管理,增、删、改、查方法跟新闻管理相同,不同的是进行增、改操作时要上传图片到项目根目录,所以要用到文件上传。下面是文件上传方法:

1 /**

2 * 上传图片类3 */

4 publicProduct UploadPhoto(HttpServletRequest request, HttpServletResponse response){5 Product p1=newProduct();6 try{7

8 //上传的文件名

9 String uploadFileName="";10 //表单字段元素的name属性值

11 String filedName="";12 //请求信息中的内容是否是multipart类型

13 boolean ismultipart =ServletFileUpload.isMultipartContent(request);14 //上传文件的储存路径(服务器文件系统上的绝对路径)

15 String pathString=request.getSession().getServletContext().getRealPath("/images/product");16 if(ismultipart) {17 FileItemFactory factory=newDiskFileItemFactory();18 ServletFileUpload upload=newServletFileUpload(factory);19 try{20 //解析form表单中所有文件

21 List items =upload.parseRequest(request);22 Iterator iter =items.iterator();23 while (iter.hasNext()) { //依次处理每个文件

24 FileItem item =iter.next();25 if (item.isFormField()) { //普通表单字段

26 filedName = item.getFieldName(); //表单字段的name属性值

27 if (filedName.equals("productName")) {28 //商品名称

29 p1.setName(item.getString("utf-8"));30 }else if(filedName.equals("productPrice")){31 //商品价格

32 p1.setPrice(Float.valueOf(item.getString("utf-8")));33 }else if(filedName.equals("DescriptionName")){34 //商品描述

35 p1.setDescription(item.getString("utf-8"));36 }else if(filedName.equals("parentId")){37 int fenleiid=Integer.parseInt(item.getString("utf-8"));38 //商品分类 二级分类

39 p1.setChildCategoryId(fenleiid);40 //根据二级获取一级

41 int oneIdOfTwoId =si.OneIdOfTwoId(fenleiid);42 //商品分类 一级分类

43 p1.setCategoryId(oneIdOfTwoId);44 }else if(filedName.equals("stockName")){45 //商品库存

46 p1.setStock(Integer.parseInt(item.getString("utf-8")));47 }48 }else { //文件表单字段

49 String fileName =item.getName();50 if (fileName!=null && !fileName.equals("")) {51 File fullfile=newFile(item.getName());52 File savFile=newFile(pathString,fullfile.getName());53 item.write(savFile);54 uploadFileName=fullfile.getName();55 //uploadFileName=new String(uploadFileName.getBytes("iso-8859-1"),"utf-8");

56 p1.setFileName(uploadFileName);57 System.out.println("上传成功后的文件名是:"+uploadFileName);58

59 }60 }61 }62 //获取商品的编号

63 String shoppingid=request.getParameter("id");64 if (shoppingid!=null) {65 p1.setId(Integer.parseInt(shoppingid));66 }67 } catch(FileUploadException e) {68 //TODO Auto-generated catch block

69 e.printStackTrace();70 }71 }72 }catch(Exception e) {73 //TODO Auto-generated catch block

74 e.printStackTrace();75 }76 returnp1;77 }

先进行判断,如果是普通表单就将从页面传过来的name值赋值到实体类中,如果是文件表单字段,也就是说有图片要上传,然后将图片上传到指定路径。

3.jQuery特效

jQuery特效网上有源代码,在这里也就不做讲解。

4.MD5加密

创建一个类:

03c3c035c2d5173d04bf36f81133f588.png

在类里面定义一个方法:

1 public classMD5Util {2 /***3 * MD5加密 生成32位md5码4 *@param待加密字符串5 *@return返回32位md5码6 */

7 public String md5Encode(String inStr) throwsException {8 MessageDigest md5 = null;9 try{10 md5 = MessageDigest.getInstance("MD5");11 } catch(Exception e) {12 System.out.println(e.toString());13 e.printStackTrace();14 return "";15 }16 byte[] byteArray = inStr.getBytes("UTF-8");17 byte[] md5Bytes =md5.digest(byteArray);18 StringBuffer hexValue = newStringBuffer();19 for (int i = 0; i < md5Bytes.length; i++) {20 int val = ((int) md5Bytes[i]) & 0xff;21 if (val < 16) {22 hexValue.append("0");23 }24 hexValue.append(Integer.toHexString(val));25 }26 returnhexValue.toString();27 }28 }

调用方法,传入用户输入的密码,进行加密,将加密后的MD5密文添加到数据库。在登录时,将用户输入的密码先进行MD5加密,然后与数据库进行比对,如果为true登录成功,如果为false则登录失败。MD5加密在登录注册都会有使用。程序猿也可以对MD5进行自己的加密,使用算法,不再生成固定的值。

如admin,加密后为:21232f297a57a5a743894a0e4a801fc3,可以对数组中的某一个或者多个数字进行更改然后传向数据库进行保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值