网上书店项目的架构和设计

上传人:花****园 文档编号:243354127 上传时间:2024-09-21 格式:PPT 页数:44 大小:1,014.50KB
返回 下载 相关 举报
网上书店项目的架构和设计_第1页
第1页 / 共44页
网上书店项目的架构和设计_第2页
第2页 / 共44页
网上书店项目的架构和设计_第3页
第3页 / 共44页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,4,章 网上书店项目的架构和设计,4.1,网上书店的架构,4.2,4.3,搭建项目框架,注册、登录和注销功能开发,4.1,网上书店的架构,4.1.1,功能需求和展示,1,主界面,网上书店购书界面如图,4.1,所示。,4.1.1,功能需求和展示,2,功能模块,网上书店是一个典型的基于,Web,网站的,Java EE,软件系统,集成了诸多的功能模块,主要包括:,(,1,)显示图书分类。,(,2,)用户可以根据分类浏览某一类图书列表。,(,3,)用户可以查看具体某一本书的简介。,(,4,)在图书浏览页只要单击,【,购买,】,按钮,就可把选定的图书加入购物车中。,(,5,)用户可以随时单击,,,查看车中已购图书的信息。,(,6,)已登录的用户可以单击,【,结账,】,按钮下订单。,(,7,)使用需先注册,在注册页填写个人信息,确认有效后成为新用户。,(,8,)用户在登录页填写用户名和密码,确认正确后才可结账。,4.1.1,功能需求和展示,各功能模块的划分如图4.2所示。,4.1.2,业务层的引入:多框架整合(含,Service,层),1,添加,Spring,核心容器,2,添加,Hibernate,并持久化,user,表,3,添加,Struts 2,框架,4,Struts 2,与,Spring,集成, 添加,Spring,支持包。, 配置,web.xml,文件。,打开,web.xml,文件,增加,Spring,的,配置,,代码所示。, 创建,struts.properties,。,在,src,目录下创建,struts.properties,文件,把,Struts 2,的类的生成交给,Spring,完成:,struts.objectFactory=spring;,4.1.2,业务层的引入:多框架整合(含,Service,层),5,开发,DAO,层,BaseDAO,代码如下:,package org.easybooks.bookstore.dao;,import org.hibernate.SessionFactory;,import org.hibernate.Session;,public class BaseDAO ,private SessionFactory sessionFactory;,public SessionFactory getSessionFactory(),return sessionFactory;,public void setSessionFactory(SessionFactory sessionFactory),this.sessionFactory=sessionFactory;,public Session getSession(),Session session=sessionFactory.openSession();,return session;,4.1.2,业务层的引入:多框架整合(含,Service,层),IUserDAO,接口代码如下:,package org.easybooks.bookstore.dao;,import org.easybooks.bookstore.vo.User;,public interface IUserDAO ,public User validateUser(String username,String password);,public void saveUser(User user);,UserDAO,类代码所示。,4.1.2,业务层的引入:多框架整合(含,Service,层),6,开发业务层,在,src,目录下建立包,org.easybooks.bookstore.service,,包中安置一个,IUserService,接口。,IUserService,接口代码如下:,package org.easybooks.bookstore.service;,import org.easybooks.bookstore.vo.User;,public interface IUserService ,public User validateUser(String username,String password);,public User registerUser(User user);,/,实现(注册登录)的,Service,UserService,类,代码所示。,4.1.2,业务层的引入:多框架整合(含,Service,层),7,开发,Action,控制块,LoginAction.java,代码所示。,struts.xml,文件内容如下:,/error.jsp,/welcome.jsp,/error.jsp,/welcome.jsp,4.1.2,业务层的引入:多框架整合(含,Service,层),8,注册组件,applicationContext.xml,文件,代码所示。,9,编写,JSP,文件,login.jsp,的代码如下:,登录页面,用户登录,姓名,:,密码,:, ,注册,4.1.2,业务层的引入:多框架整合(含,Service,层),register.jsp,的代码如下:,注册页面,用户注册,用户名,:,密,码,: ,4.1.2,业务层的引入:多框架整合(含,Service,层),welcome.jsp,的代码如下:,成功页面,,您好!欢迎光临叮当书店。,error.jsp,的代码如下:,失败页面,登录失败!,4.1.2,业务层的引入:多框架整合(含,Service,层),10,部署运行,部署项目、启动,Tomcat,服务器。在浏览器中输入,http:/localhost:8080/jsp_struts2_ spring_service_dao_hibernate/,并回车,出现如图,4.3,所示的登录,首页。,4.1.2,业务层的引入:多框架整合(含,Service,层),单击【登录】按钮提交表单,跳转到如图4.4所示的成功页面。,4.1.2,业务层的引入:多框架整合(含,Service,层),后退到登录首页,如图4.5所示,用鼠标单击页面上的“注册”链接,进入如图4.6所示的注册页面。,4.1.2,业务层的引入:多框架整合(含,Service,层),此时控制器会调用IUserService接口里的“注册登录”服务(registerUser()方法),该服务又先后调用DAO层的saveUser()方法和validateUser()方法,实现新用户注册后立即用新账号登录的功能,本例将跳转到如图4.7所示的页面。,4.1.3,系统架构:原理与实施,1,分层模型,总结前述的知识,轻量级的,Java EE,系统最适合采用分层的方式架构,下面给出其分层模型,如图,4.8,所示。,4.1.3,系统架构:原理与实施,2,实施方案,这里将讨论一个使用,3,种开源框架的解决方案,如图,4.9,所示。,4.2,搭建项目框架,1,创建,Web,项目,在,MyEclipse,中创建一个新的,Web Project,,命名为,bookstore,。,2,创建源代码包,在项目,src,目录下创建如图,4.10,所示的包。,4.2,搭建项目框架,3,创建数据库,网上书店有以下,5,个实体:用户、图书分类、图书、订单、订单项,因此,本系统的数据库设计如图,4.11,所示。,4.2,搭建项目框架,根据图4.11所示的设计模型,用CASE工具生成SQL,语句,代码所示。,最终生成的表如图4.12所示,每个实体对应一个表,总共5个表。,4.2,搭建项目框架,向,catalog,表输入记录的,SQL,语句:,INSERT INTO catalog VALUES(1, C,语言程序设计,);,INSERT INTO catalog VALUES(2, Java,开发,);,INSERT INTO catalog VALUES(3, ,数据库,);,INSERT INTO catalog VALUES(4, ,网页编程,);,4.2,搭建项目框架,向,book,表输入记录:,INSERT INTO book VALUES(1, 4, ASP.NET 3.5,实用教程, 38, ASP.NET3.5.jpg);,INSERT INTO book VALUES(2, 1, C#,实用教程, 43, CSharp.jpg);,INSERT INTO book VALUES(3, 1, C,实用教程, 36, C.jpg);,INSERT INTO book VALUES(4, 1, C+,实用教程, 40, C+.jpg);,INSERT INTO book VALUES(5, 4, Flex 4,开发实践, 45, Flex4.jpg);,INSERT INTO book VALUES(6, 2, Java EE,基础实用教程, 35, JavaEEBasic.jpg);,INSERT INTO book VALUES(7, 2, Java EE,实用教程, 39, JavaEE.jpg);,INSERT INTO book VALUES(8, 2, Java,实用教程(第,2,版), 50, Java.jpg);,INSERT INTO book VALUES(9, 4, JSP,编程教程, 30, JSP.jpg);,INSERT INTO book VALUES(10, 3, MySQL,实用教程, 37, MySQL.jpg);,INSERT INTO book VALUES(11, 3, Oracle,实用教程(第,3,版), 29, Oracle.jpg);,INSERT INTO book VALUES(12, 4, PHP,实用教程, 35, PHP.jpg);,INSERT INTO book VALUES(13, 3, SQL Server,实用教程(第,3,版), 25, SQL Server.jpg);,INSERT INTO book VALUES(14, 1, Visual C+,教程(第,2,版), 25, VC+.jpg);,4.2,搭建项目框架,4,添加,SSH2,多框架,要注意添加的次序:,(,1,)添加,Spring,核心容器。,(,2,)添加,Hibernate,框架。,(,3,)添加,Struts 2,框架。,(,4,),Struts 2,与,Spring,集成。,具体操作同,4.1.2,小节,在第(,2,)步添加了,Hibernate,后,要一并将,bookstore,中的,5,个表全都用“反向工程”法生成持久化对象及映射文件,生成项全部置于先前创建的,org.easybooks.bookstore.vo,包中,如图,4.13,所示。,4.3,注册、登录和注销功能开发,4.3.1,表示层页面设计,1,页面布局,在,WebRoot,下建立文件夹,css,,在其中创建,bookstore.css,文件。,编写,CSS,代码所示。,4.3.1,表示层页面设计,2,知识点:,CSS,样式表,例如,在,CSS,定义了,a,标签的样式如下:,a ,font-family: ,宋体,;,color: #000000;,那么在页面中若出现:,链接,而类样式则不同,定义一个样式的类格式如下:,.name,该类样式的属性,在页面标签中加入“,class=name,”属性,该标签就可以使用,CSS,中,.name,定义的样式。例如:,4.3.1,表示层页面设计,3,设计主界面,主页面的框架由,index.jsp,实现,,代码所示。,4,分块子页面设计,(,1,)网页头设计。,首先在主界面的上方是网页头(对应,head.jsp,),,代码所示。,(,2,)登录页设计。,登录页对应,login.jsp,,,代码所示。,(,3,)注册页设计。,注册页对应,register.jsp,,,代码所示。,(,4,)网页尾设计。,foot.jsp,为整个页面的尾部,其代码非常简单,一般是版权说明等内容,,代码所示。,4.3.1,表示层页面设计,5,效果展示,(,1,)主界面。,在浏览器地址栏输入,http:/localhost:8080/bookstore/index.jsp,并回车,显示主界面如图,4.14,所示。,4.3.1,表示层页面设计,(2)登录页。,单击“登录”链接,如图4.15所示,进入登录页。,4.3.1,表示层页面设计,(3)注册页。,单击“注册”链接,进入注册页,页面上出现如图4.16所示的供用户填写个人信息的表单。,4.3.2,持久层接口设计,DAO,层所涉及的类、接口如图,4.17,所示。,4.3.2,持久层接口设计,在org.easybooks.bookstore.dao包中创建IUserDAO.java,代码如下:,package org.easybooks.bookstore.dao;,import org.easybooks.bookstore.vo.User;,public interface IUserDAO ,/用户注册时,保存注册信息,public void saveUser(User user);,/用户登录时,验证用户信息,public User validateUser(String username,String password);,4.3.2,持久层接口设计,创建BaseDAO.java,代码如下:,package org.easybooks.bookstore.dao;,import org.hibernate.SessionFactory;,import org.hibernate.Session;,public class BaseDAO ,private SessionFactory sessionFactory;,public SessionFactory getSessionFactory(),return sessionFactory;,public void setSessionFactory(SessionFactory sessionFactory),this.sessionFactory=sessionFactory;,public Session getSession(),Session session=sessionFactory.openSession();,return session;,在org.easybooks.bookstore.dao.impl包中创建UserDAO.java,,代码所示。,4.3.3,业务及控制逻辑设计,1,业务层开发,业务层(,Service,层)用于处理各种业务逻辑,主要的类和接口是,IUserService,、,UserService,,如图,4.18,所示。,4.3.3,业务及控制逻辑设计,在,org.easybooks.bookstore.service,包中创建,IUserService. java,,代码如下:,package org.easybooks.bookstore.service;,import org.easybooks.bookstore.vo.User;,public interface IUserService ,/,保存注册信息,public void saveUser(User user);,/,验证用户信息,public User validateUser(String username,String password);,4.3.3,业务及控制逻辑设计,在,org.easybooks.bookstore.service.impl,包中创建,UserService.java,,代码如下:,package org.easybooks.bookstore.service.impl;,import org.easybooks.bookstore.dao.IUserDAO;,import org.easybooks.bookstore.service.IUserService;,import org.easybooks.bookstore.vo.User;,public class UserService implements IUserService,private IUserDAO userDAO;,/,保存注册信息,public void saveUser(User user),this.,userDAO.saveUser(user),;,/,验证用户信息,public User validateUser(String username,String password),return,userDAO.validateUser(username, password),;,public IUserDAO getUserDAO(),return userDAO;,public void setUserDAO(IUserDAO userDAO),this.userDAO=userDAO;,4.3.3,业务及控制逻辑设计,2,控制模块开发,系统的注册、登录和注销功能的控制模块由,UserAction,类承担,该类含有,3,个方法,如图,4.19,所示,,register(),方法用于用户注册,,execute(),方法用于用户登录,,logout(),方法用于用户注销。这些方法的实现依赖于,Service,层,在属性中,有一个,userService,属性,它的类型是,IUserService,。,UserAction,类位于,org.easybooks.bookstore.action,包中,,代码所示。,4.3.3,业务及控制逻辑设计,struts.xml,文件中配置,UserAction,,代码如下:,/register_success.jsp,/login_success.jsp,/login.jsp,/index.jsp,4.3.4,用,Spring,整合各组件,系统各种组件的生成和管理都是由,Spring,容器统一控制的。在,Spring,的配置文件,applicationContext.xml,中注册上面开发的各个程序模块组件。,applicationContext.xml,配置代码。,4.3.5,辅助编码,首先在项目,web.xml,中设置启动页面为,index.jsp,(加黑处),,代码所示。,编写注册成功页,register_success.jsp,,,代码所示。,编写登录成功页,login_success.jsp,,,代码所示。,4.3.6,部署运行,部署项目、启动Tomcat服务器。在浏览器中输入http:/localhost:8080/bookstore/并回车,在首页上单击“注册”链接,进入注册页,如图4.20所示,填写个人注册信息。,4.3.6,部署运行,单击【注册】按钮提交后,跳转到如图4.21所示的注册成功页,此时读者可从命令行进入MySQL,查询出user表中确实多了一条记录,正是刚刚注册的新用户信息。,4.3.6,部署运行,单击如图4.21所示的欢迎信息右边的“登录”链接,进入登录页,按如图4.22所示填写刚注册的用户名和密码,单击【登录】按钮。,4.3.6,部署运行,登录成功后的页面如图4.23所示。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!