网络原理实验报告.doc_第1页
网络原理实验报告.doc_第2页
网络原理实验报告.doc_第3页
网络原理实验报告.doc_第4页
网络原理实验报告.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络原理实验报告设计题目: 电子商务网站班 级: 计算机0706班学 号: 0902070607姓 名: 刘晴指导教师: 刘丽敏设计时间:6.116.24目录第一章 设计目的、任务与要求1.2设计目的 . 31.2设计任务和要求 . 3 第二章 系统分析设计2.1系统的需求分析 . 42.2设计要求 . 52.3运行要求 . 62.4数据要求 . 6第三章 系统实现3.1采用的技术 . 123.2系统的实现过程. 123.3实现界面. 23第四章 心得体会4.1心得体会. 28参考文献 . 29第一章 设计目的、任务与要求1.1设计的目的随着Internet的发展,电子商城将成为21世纪网络发展的主流,网上购物将成为一种购物时尚。目前国内企业正纷纷加入到阿里巴巴等一系列大型电子商务网站中,通过网络进行交易将成为未来商品交易的重要组成部分。企业在进行宣传网络的同时,也逐步扩大了企业自身的网络销售渠道,建立起自己的电子商城网站,完成了从“企业对企业”到“企业对个人”同时进行网络交易的过渡,大大提高了企业的生产效益。随着硬件技术、网络技术及网络交易法规的日趋完善,电子商城将成为企业销售经营的主要渠道。1.2设计任务与要求电子商务网站所需要的功能从用户角度进行简单的划分,可以分为用户功能模块和后台管理模块。用户功能模块提供给购物的用户使用,后台管理该模块提供给系统管理员使用。其中用户分为一般用户和注册用户。1.2.1用户相关功能及模块* 用户登录。* 用户注册。* 用户信息修改功能。* 购物车功能。* 收银台功能。* 商品查询功能。* 推荐商品查询功能。* 查看订单功能。用户可以查看订单的处理状态。* 一般交流和友情连接功能。1.2.2后台管理相关功能及模块* 商品管理* 商品分类管理* 订单管理* 用户管理第二章 系统分析设计2.1系统的需求分析网上服装店网站分为前台和后台。具体如下:前台功能结构:后台功能结构图:为了更加清晰的表达系统的业务功能模块,下面给出企业电子商城系统的业务流程图,对于不同的角色,他们所承担的任务各不相同,流程图也不一样。本系统包括面向注册用户的客户端流程图和面向系统管理员的流程图两部分。面向用户的客户端系统流程图如下图所示:面向系统管理员的流程图如下图所示:面向系统管理员的流程图2.2设计要求 根据需求分析,网上服装店需要达到一下要求: 界面设计友好、美观。 在首页中提供预览信息的功能,并且信息分类明确。 用户能够方便的查看某些类别中所有信息和信息的强袭内容。 能够实现网站内的信息搜索,入定位查询、模糊查询。 具有操作方便、功能强大的后台信息管理审核功能。 具有操作方便的后台付费设置功能。 具有易维护性和易操作性。2.3运行要求 数据库:MySQL Server 5.1 服务器:Tomcat6.x 框架:struts1.2 JDK版本:JDK6.0 2.4数据要求2.4.1数据库概念设计本系统涉及到的实体有管理员、大类商品、小类商品、商品、商品明细、用户、订单、订单明细、公告信息、友情链接实体。下面分别给出各个实体的E-R图。管理员实体 管理员实体有属性编号、登陆账号、登陆密码、管理员姓名、性别商品大类实体 商品大类实体有属性大类编号、大类名称、大类描述商品小类实体 商品小类实体有属性小类编号、小类名称、小类描述、所属大类商品实体 商品实体有属性商品编号、商品名称、生产厂家名称、商品描述、所属小类编号 商品明细实体商品明细有属性商品明细编号、商品原价、商品特价、商品折扣率、商品特价标识 商品评价实体商品评价实体含有属性商品评价编号、评价内容、评价的商品编号商品评价商品评价编号评价内容评价商品编号注册用户实体 注册用户尸体有属性注册用户编号、注册姓名、用户密码、密码提示问题、问题答案、积分、用户身份证号、银行卡账号订单实体 订单实体有属性订单编号、用户账号、订单总费用、订单状态s订单明细实体 订单明细实体有属性订单明细编号、订单编号、商品编号公告实体 公告实体有属性公告编号、公告内容友情链接实体 友情链接实体有属性友情连接编号、友情链接内容银行账号实体 银行账号实体有属性身份证号、银行账号、银行余额、银行密码2.4.2数据库逻辑结构设计t_mgr表(管理员表)字段名数据类型是否为空是否主键是否外键默认值描述mgr_idChar(10)否是编号mgr_accountVarchar(20)否登陆账号mgr_passwordVarchar(16)否密码mgr_nameVarchar(20)否姓名mgr_sexChar(2)否性别t_type表(商品大类表) 字段名数据类型是否为空是否主键是否外键默认值描述Type_idChar(10)否是编号Type_nameVarchar(50)否大类名称Type_describeVarchar(255)是Null描述 t_subtype表(商品小类表)字段名数据类型是否为空是否主键是否外键默认值描述subtype_idChar(10)否是编号subtype_nameVarchar(50)否大类名称subtype_describeVarchar(255)是Null描述Type_idChar(10)否是所属大类编号 t_good表(商品表)字段名数据类型是否为空是否主键是否外键默认值描述Good_idChar(10)否是商品编号Good_nameVarchar(20)否商品名称Good_producerVarchar(40)否生产厂家Good_describeVarchar(255)否描述Subtype_idChar(10)否是所属子类编号 T_goodParticulers表(商品明细表)字段名数据类型是否为空是否主键是否外键默认值描述Goodparticulers_idChar(10)否是商品明细编号Goodparticulers_origcostFloat否商品原价Goodparticulers_discountFloat否1折扣率Goodpartivulers_chaterflagChar(2)否否特价商品标识Good_idChar(10)否是商品标识 goodEvaluate表(商品评价表)字段名数据类型是否为空是否主键是否外键默认值描述goodEvaluateIdChar(10)否是评价变号goodEvaluateContentvarchar(255)否评价内容goodParticulersIdChar(10)否是商品明细编号 T_user表(用户表)字段名数据类型是否为空是否主键是否外键默认值描述User_idChar(10)否是用户编号User_nameVarchar(20)否用户姓名User_passwordFloat否登录密码User_problemVarchar(20)是安全问题User_answerVarchar(20)是问题答案User_pointInt否积分Id_idChar(18)否是身份证号t_order表(订单表) 字段名数据类型是否为空是否主键是否外键默认值描述Order_idChar(10)否是订单编号User_idchar(10)否是用户账号Order_costFloat否订单总费用Order_stateChar(8)否是订单状态t_orderparticulers表(订单明细表) 字段名数据类型是否为空是否主键是否外键默认值描述Orderparticulers_idChar(10)否是订单明细编号Order_idchar(10)否是订单编号Good_idchar(10)否是商品编号t_post表(公告表) 字段名数据类型是否为空是否主键是否外键默认值描述Post_idChar(10)否是公告编号Post_contentVarchar(255)否公告内容t_link表(友情链接表) 字段名数据类型是否为空是否主键是否外键默认值描述Link_idChar(10)否是链接编号link_contentVarchar(255)否链接内容t_bank表(银行账号表)字段名数据类型是否为空是否主键是否外键默认值描述Id_idChar(18)否是身份证号Bank_idVarchar(20)否银行卡账号Bank_balanceFloat否银行余额Bank_passwordVarchar(16)否银行密码第三章 系统实现3.1采用的技术3.1.1 JDBC数据库连接 获得数据库连接实现代码如下: public static Connection conn() throws SQLException, ClassNotFoundExceptionConnection conn = null;try Class.forName(com.mysql.jdbc.Driver);/获得驱动类String url = jdbc:mysql:/localhost:3306/clothShop;/进行连接conn = DriverManager.getConnection(url, root, root); catch(SQLException e) throw e;return conn;关闭数据库连接的代码如下:public static void closeConn(Connection conn) throws SQLException if(conn = null) /若果conn存在且打开则需关闭return;try if(!conn.isClosed() conn.close();catch (SQLException e) throw e;注:数据库连接时发生的异常都交由Action进行处理。3.1.2 JSP技术 技术主要用来动态显示页面信息。如根据用户查询要求从数据库中查到的内容动态显示到页面。其中用到了EL表达式。下面将在.节中详细说明。3.1.3 Struts1.2框架.是一个封装好了的。下面将在.节中详细说明。3.2系统的实现过程3.2.1数据库的设计数据库设计SQL语句如下:create database clothShop -创建数据库gocreate table mgr(mgrId char(10) primary key,mgrAccount varchar(20) not null,mgrPassword varchar(16) not null,mgrName varchar(20) not null,mgrSex char(2) check (mgrSex in (女,男) )gocreate table type(typeId char(10) primary key,typeName varchar(50) not null,typeDescribe varchar(255)go create table subtype(subtypeId char(10) primary key,subtypeDescribe varchar(255),subtypeName varchar(50) not null,typeId char(10) references type(typeId)go create table good(goodId char(10) primary key,goodName varchar(20) not null,goodProducer varchar(40) not null,goodDescribe varchar(255) not null,subtypeId char(10) references subtype(subtypeId)godrop table goodParticulerscreate table goodParticulers(goodParticulersId char(10) primary key,goodParticulersOrigcost float not null, goodParticulersDiscount float not null default 1, goodParticulersSize varchar(5) check(goodParticulersSize in (S,M,L,XL,XXL,XXXL,XXXXL), goodParticulersMaxAge int check(goodParticulersMaxAge between 0 and 18), goodParticulersMinAge int check(goodParticulersMinAge between 0 and 18),goodParticulersChaterflag char(2) check (goodParticulersChaterflag in (是,否),goodId char(10) references good(goodId)gocreate table goodEvaluate(goodEvaluateId char(10) primary key,goodEvaluateContent varchar(255) not null,goodParticulersId char(10) references goodParticulers(goodParticulersId)go create table users(usersId char(18) primary key,usersName varchar(20) not null,usersPassword varchar(16) not null,usersProblem varchar(20),usersAnswer varchar(20),usersPoint int default 0)go create table bank(bankId varchar(20) not null primary key,usersId char(18) not null references users(usersId),bankBalance varchar(20) not null,bankPassword varchar(16) not null)gocreate table orders(ordersId char(10) primary key,usersId char(18) not null references users(usersId),ordersCost float not null,ordersState char(8) check(ordersState in (正在处理,处理完毕)gocreate table ordersParticulers(ordersParticulersId char(10) primary key,ordersId char(10) references orders(ordersId),goodId char(10) references good(goodId)gocreate table post(postId char(10) primary key,postContent varchar(255) not null)gocreate table link(linkId char(10) primary key,linkContent varchar(255)insert into mgr values(0000000001, admin, admin,admin,女)insert into mgr values(0000000002, admin1, admin1,admin1,男)3.2.2大类商品Dao设计public class TypeDao /添加大类商品public void addType(Type type) throws ClassNotFoundException, SQLException String sql = insert into type values(?,?,?);Connection conn = null;PreparedStatement pst = null;try conn = Tools.conn();/获得连接pst = conn.prepareStatement(sql);/SQL 语句预处理pst.setString(1, type.getTypeId();pst.setString(2, type.getTypeName();pst.setString(3, type.getTypeDescribe();pst.executeUpdate();/执行语句pst.close();关闭Tools.closeConn(conn);关闭连接 catch (ClassNotFoundException e) throw e;异常交给处理 catch (SQLException e) try Tools.closeConn(conn); catch (SQLException e1) throw e1;throw e;根据大类商品编号查询大类商品,并返回public Type queryTypeByTypeId(String typeId) throws SQLException, ClassNotFoundException Type type = null;Connection conn = null;try conn = Tools.conn();String sql = select * from type where typeId=+ typeId + ;PreparedStatement pst = conn.prepareStatement(sql);ResultSet rs = pst.executeQuery();if(rs.next() type = new Type();type.setTypeId(rs.getString(typeId);type.setTypeName(rs.getString(typeName);type.setTypeDescribe(rs.getString(typeDescribe);pst.close();Tools.closeConn(conn);return type;catch (ClassNotFoundException e) throw e; catch(SQLException e) try Tools.closeConn(conn); catch (SQLException e1) throw e1;throw e; 根据大类商品名称查询大类商品并返回商品大类对象public Type queryTypeByTypeName(String typeName) throws SQLException, ClassNotFoundException Type type = null;Connection conn = null;try conn = Tools.conn();String sql = select * from type where typeName=+ typeName + ;PreparedStatement pst = conn.prepareStatement(sql);ResultSet rs = pst.executeQuery();if(rs.next() type = new Type();type.setTypeId(rs.getString(typeId);type.setTypeName(rs.getString(typeName);type.setTypeDescribe(rs.getString(typeDescribe);pst.close();Tools.closeConn(conn);return type;catch (ClassNotFoundException e) throw e; catch(SQLException e) try Tools.closeConn(conn); catch (SQLException e1) throw e1;throw e; 查询所有的商品大类对象public ArrayList queryAllType() throws SQLException, ClassNotFoundException Type type = null;Connection conn = null;ArrayList types = new ArrayList();try conn = Tools.conn();String sql = select * from type;PreparedStatement pst = conn.prepareStatement(sql);ResultSet rs = pst.executeQuery();while(rs.next() type = new Type();type.setTypeId(rs.getString(typeId);type.setTypeName(rs.getString(typeName);type.setTypeDescribe(rs.getString(typeDescribe);types.add(type);pst.close();Tools.closeConn(conn);return types;catch (ClassNotFoundException e) throw e; catch(SQLException e) try Tools.closeConn(conn); catch (SQLException e1) throw e1;throw e; 更改商品大类对象,传入更改的内容作为参数public void updateType(Type type) throws ClassNotFoundException, SQLException Connection conn = null;try conn = Tools.conn();String sql = update type set typeName=+type.getTypeName()+, typeDescribe=+ type.getTypeDescribe()+ where typeId= +type.getTypeId()+;PreparedStatement pst = conn.prepareStatement(sql);pst.executeUpdate();pst.close();Tools.closeConn(conn);catch (ClassNotFoundException e) throw e; catch(SQLException e) try Tools.closeConn(conn); catch (SQLException e1) throw e1;throw e; 根据商品大类进行删除public void deleteTypeByTypeId(String typeId) throws ClassNotFoundException, SQLException Connection conn = null;try conn = Tools.conn();String sql = delete from type where typeId=+typeId+;PreparedStatement pst = conn.prepareStatement(sql);pst.executeUpdate();pst.close();Tools.closeConn(conn);catch (ClassNotFoundException e) throw e; catch(SQLException e) try Tools.closeConn(conn); catch (SQLException e1) throw e1;throw e; 3.2.3struts-config.xml的配置 3.2.4typeAction的实现TypeMgrAction类继承DispatchAction,主要用来处理接受用户请求并处理响应,将处理结果返回给用户。public class TypeMgrAction extends DispatchAction TypeDao typeDao = null;public ActionForward queryType(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws IOException request.setCharacterEncoding(GB2312);response.setContentType(text/html;charset=GB2312);HttpSession ss = request.getSession();if(Mgr)ss.getAttribute(mgr) != null) typeDao = new TypeDao();ArrayList types = new ArrayList();try types = typeDao.queryAllType();ss.setAttribute(types, types);return new ActionForward(/typeMgr/typeMgr.jsp); catch (Exception e) e.printStackTrace();String str = 操作失败,请与管理员联系!;ss.setAttribute(str, str);/return mapping.findForward(loginFailure);return new ActionForward(/mgr/welcome.jsp); else ss.setAttribute(str, login first!);return new ActionForward(/mgr/login.jsp);public ActionForward addTypeM(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws IOException request.setCharacterEncoding(GB2312);response.setContentType(text/html;charset=GB2312);HttpSession ss = request.getSession();if(Mgr)ss.getAttribute(mgr) != null) return new ActionForward(/typeMgr/addType.jsp); else ss.setAttribute(str, login first!);return new ActionForward(/mgr/login.jsp);public ActionForward addType(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws IOException request.setCharacterEncoding(GB2312);response.setContentType(text/html;charset=GB2312);HttpSession ss = request.getSession();if(Mgr)ss.getAttribute(mgr) != null) TypeForm typeForm = (TypeForm)form;Type type = new Type();type.setTypeDescribe(typeForm.getTypeDescribe();type.setTypeId(typeForm.getTypeId();type.setTypeName(typeForm.getTypeName();typeDao = new TypeDao();trytypeDao.addType(type);return new ActionForward(/typeMgr.do?method=queryType); catch(Exception e) e.printStackTrace();return new ActionForward(/typeMgr/addType.jsp); else ss.setAttribute(str, login first!);return new ActionForward(/mgr/login.jsp);public ActionForward deleteType(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws IOException request.setCharacterEncoding(GB2312);response.setContentType(text/html;charset=GB2312);HttpSession ss = request.getSession();String typeId = request.getParameter(typeIdi);if(Mgr)ss.getAttribute(mgr) != null) typeDao = new TypeDao();trytypeDao.deleteTypeByTypeId(typeId);return new ActionForward(/typeMgr.do?method=queryType); catch(Exception e) e.printStackTrace();ss.setAttribute(str, delete failure!);return new ActionForward(/typeMgr.do?method=queryType); else ss.setAttribute(str, login first!);return new ActionForward(/mgr/login.jsp);public ActionForward updateTypeM(ActionMapping mapping, ActionForm form,HttpServletRequest re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论