演示视频:
https://www.bilibili.com/video/BV1Pa4y1k7Ur/
第4章开发工具及技术
3.1开发工具MyEclipse
MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
3.2 Tomcat介绍
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
3.3 MySql数据库
SqlServer使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,SqlServer提供的功能已经绰绰有余,而且由于SqlServer是开放源码软件,因此可以大大降低总体拥有成本。
3.4 JSP技术
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:
(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下
(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;pageJSP网页本身; exception 针对错误网页,未捕捉的例外
3.5 JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。
3.6 Struts2.0简介
Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2002年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的Model-View-Controller〔MVC〕设计模式的应用框架〔Web Framework〕,是MVC经典设计模式中的一个经典产品。而Struts2则是Struts的升级版本。
它的优点在于:
①Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程;
②使用OGNL进行参数传递;
③强大的拦截器;
④易于测试;
⑤易于扩展的插件机制;
⑥全局结果与声明式异常。
3.7 Hibernate介绍
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有2个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这2个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
第5章详细设计
详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
本系统的详细设计包括以下内容:数据库的详细设计、界面的详细设计、系统用户设计、系统登录设计、会员模块设计、洗衣价格模块设计、收取衣物模块设计、领取衣物模块设计。
3.2界面的详细设计
整个系统的界面可以达到简洁、易交互性的要求。
4.2.1登录界面的设计
图3.1 系统登录界面
登录系统时要输入正确的用户名与密码。首先要检测用户输入的用户名和密码是否为空,并显示相关提示,如图3.5和图3.6所示。
图3.2 用户名为空提示
图3.3密码为空提示
如果用户名和密码都不为空,还要检查用户名、密码是否正确,如果正确则进入系统主页面,如果不正确会给出相应提示,如图3.7所示。
图3.4 登录错误提示
4.2.2系统主页的设计
系统主页由一个框架构成,包含3个页面:网站LOGO、目录导航、欢迎页面。
图3.5 系统主页面
4.2.3系统导航目录的设计
系统的导航目录使用div+css+javascrpt实现。如图3.3所示。
图3.6 系统导航目录
3.3洗衣类型模块设计
3.3.1添加洗衣类型
管理员输入洗衣类型相关正确信息后点击录入按钮,如果是没有输入完整的洗衣类型信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式,程序效果图如图3.8所示。
图3.8 洗衣类型添加
3.3.2洗衣类型管理
管理员点击左侧的菜单“洗衣类型管理”,页面跳转到洗衣类型管理界面,调用后台的xiyileixingAction类查询出所有的洗衣类型信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出洗衣类型信息,洗衣类型管理页面如图3.9所示。
图3.9 洗衣类型管理
3.3.3洗衣类型删除
先是点击洗衣类型管理,页面跳转到洗衣类型管理界面,浏览所有的洗衣类型信息,点击要删除的数据,弹出的确定对话框,即可删除该洗衣类型信息,程序效果图如图3.8所示。
图3.10 洗衣类型删除
3.4会员信息模块设计
3.3.1添加会员信息
管理员输入会员相关正确信息后点击录入按钮,如果是没有输入完整的会员信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式,程序效果图如图3.11所示。
图3.11 会员信息添加
3.3.2会员信息管理
管理员点击左侧的菜单“会员信息管理”,页面跳转到会员信息管理界面,调用后台的userAction类查询出所有的会员信息信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出洗衣类型信息,洗衣类型管理页面如图3.9所示。
图3.12 会员信息管理
3.3.3会员充值模块
点击“充值”超级连接,页面跳转到充值的页面,输入充值金额,点击确定按钮,即可完成充值操作,程序效果图如图3.8所示。
图3.13 会员充值
3.5收取衣物模块设计
3.3.1收取衣物添加
管理员输入衣物相关正确信息后点击录入按钮,如果是没有输入完整的衣物信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式,程序效果图如图3.14所示。
图3.14 收入衣物添加
3.3.2收取衣物管理
管理员点击左侧的菜单“收取衣物管理”,页面跳转到收取衣物管理界面,调用后台的shouAction类查询出所有的收取衣物信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出收取衣物信息,程序效果图如图3.15所示。
图3.15 收取衣物管理
3.6业务统计模块设计
3.6.1业务统计模块
点击“洗衣业务统计”页面跳转到查询的tongji_pre.jsp,输入开始时间和截止日期,点击统计按钮,系统发送请求到后台的tongjiAction处理。如果是没有输入开始时间和截止日期,都会给出相应的错误提示,提示“请输入时间”。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式,程序效果图如图3.16所示。
图3.16 业务统计模块