计算机软件设计精品]基于web的网上商城系统的设计与实现内容摘要:
Java 编程语言的解释是: Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 关于 Java 的批评 Java 试图通过新的方式解决软件编写的复杂性。 很多人认为 Java 语言做到了它承诺的一切。 但是 Java 并不是一门完美的语言。 整体二 〇一一 届本科毕业设计(论文) 第 5 页 共 44 页 性问题并不是所有的工程和环境需要企业级别的复杂性,比如一个简单的个人网站或者独自编程的程 序师所写的程序。 这些程序师会发现 Java 的复杂管理对于自己要做的程序来说过于强大了。 一些人觉得 Java 在面向对象上面做的没有 Ruby 和 Smalltalk 纯粹。 但是最新出现的用 Java 实现的语言 Groovy 解决了这些问题。 作为一种已经创建的新技术, Java 显然综合了很多语言的特性,比如 C++、C 语言、 Python 等等。 一些对于 Java 的评论认为 Java 的不变性在动摇。 语言问题有些程序师不喜欢原始类型( primitive type)和类( class)的分离,尤其是那些曾经使用过 Smalltalk 和 Ruby 的 程序师。 Java 的代码相对于其他的代码来说过于冗长,这与它的轻便化声明相违背。 Java 是一种单层继承的语言。 这也导致了程序师在试图使用多重继承时候的不便,而很多语言都可以使用这个特性。 但是 Java 可以使用接口类,把多重继承可能导致的风险减少到最小。 Java 不支持运算符重载,这是为了防止运算符重载使得代码的功能变得不清晰。 但是用 Java 实现的语言 Groovy 可以进行运算符重载。 过去Java 对于文本的操作和其他语言,比如 Perl 和 PHP 相比差的较多,但 Java 在 版本时候引入了正则表达式。 类库问题使用 Swing 平台编写的带有 GUI(图形用户接口)的程序和其他原始程序非常不同。 选用 AWT 工具包编写程序的程序师看到的都是原始接口,而且也无法获得先进的 GUI 编程支持,如果使用的话,就要提供每个平台上面所需的 API,这将是一项庞大的工程。 Swing 则是完全用 Java 语言所写的程序,避免了接口元素重复的问题,只使用所有平台都支持的最基本的绘图机制。 但是很多用户不知道如何在 Java 风格和 Windows 风格之间进行转换,结果造成了 Java 程序的接口在很多程序中非常特殊。 苹果电脑已经提供了优化过的 Java 运行时程序,包含了 Mac OS X 的经典 Aqua 接口风格。 性能问题由于 Java 编译器和虚拟机的不同对 Java 代码的性能影响比语言本身的影响大的多,所以统一讨论 Java 的程序的性能经常是有误导性的。 据 IBM 的数据,在同样的硬件上 2020 年时的 IBM JDK 版本的性能是 1996 年的 JDK 版本的十倍左右。 Java 语言的一些特性不可避免的有额外的性能代价,例如数组范围检查、运行时类型检查等等。 Java 程序的性能还会因为不同的动态复杂性和垃圾处理机制使用的多少而各有不同。 如果 JVM 的实现比较优化的话,那么这些功能甚至可以增加存储器分配 的性能。 这和总是使用 STL 或者托管 C++的程序的情况类似。 尽管如此,仍然有许多人认为 Java 的性能低。 这部分归因于 Sun 公司最初的 JVM 实现使用未优化的解释机制来运行字节码。 一些新版本的 JVM 使用JustInTime( JIT)编译器,在加载字节码的时候将其编译成针对运行环境的本地代码来实现一些本地编译器的优化特性。 JustInTime 机制和本地编译的二 〇一一 届本科毕业设计(论文) 第 6 页 共 44 页 性能比较仍旧是一个有争议的话题。 JIT 编译需要很多时间,对于运行时间不长或者代码很多的大型程序并不适宜。 但是不算 JIT 编译阶段的话,程序的运行性能在很 多 JVM 下可以和本地编译的程序一争短长,甚至在一些计算比较密集的数值计算领域也是这样。 目前, Java 已经使用更先进的 HotSpot 技术来代替 JIT 技术, Java 的性能有了更进一步的提升。 另外,在使用 server 选项运行 java 程序时,也可以对 java 进行更深入的优化,比如在运行时将调用较多的方法内联( inline)到程序中来提高运行速度,这就是所谓的“动态优化”,而本地编译器是无法做到这一点的;这也是一些 java 代码比对应用 C/C++等语言编写的本地代码运行的更快的原因之一。 微软的 .NET 平台也使用 JIT 编译器,所以也有类似问题。 Java 的设计目的主要是安全性和可携性,所以对于一些特性,比如对硬件架构和存储器地址访问的直接访问都被去除了。 如果需要间接调用这些底层功能的话,就需要使用 JNI( Java 本地接口)来调用本地代码,而间接访问意味着频繁调用这些特性时性能损失会很大,微软的 .NET 平台也有这样的问题。 所以到目前为止,性能敏感的代码,例如驱动程序和 3D 视频游戏,还是大多使用本地编译,甚至直接以不直接支持面向对象的 C 语言或机器码编写。 但最近已经有了许多用纯 Java 编写的 3D 游戏,其效果与用 C 语言编写的不相上下,例如“合金战士”(英文名: Chrome)。 这主要是因为新版的 Java 3D 技术已经能像 C++一样调用硬件加速,也就是使用显卡来加速,无论是 C++还是 Java 语言写的 3D 游戏都是使用显卡及 GPU 来处理,从而使得 CPU 可以专注于其他方面的工作。 技术的介绍 Hibernate 框架的介绍 Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是使用 GNU宽通用公共许可证发行的自由、开源的软件。 它为面向对象的领域模型到传统的关系型 数据库的映射,提供了一个使用方便的框架。 概览它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。 无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用 Hibernate。 Hibernate 不仅负责从 Java 类到数据库表的映射(还包括从 Java 数据类型到 SQL 数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理 SQL和 JDBC 上的开发时间。 .NET 上的 HibernateHibernate 有个在 .NET Framework 上的实现版本,称为 NHibernate,在 Entity Framework 发表之前, NHibernate 是在 .NET Framework 上经常被使用的 ORM 实现。 Hibernate 的架构有三个主要部分组成: 二 〇一一 届本科毕业设计(论文) 第 7 页 共 44 页 连接管理 :Hibernate 的连接管理服务提供的数据库连接的有效管理。 数据库连接是与数据库进行交互,因为它需要大量资源的开放和关闭数据库连接的最昂贵的部分。 交易管理:事务管理服务提供给用户能够同时执行多个数据库报表。 对象关系映射:对象关系映射是从对象映射模型的数据表示为关系 数据模型的技术。 这部分是用来休眠选择,插入,更新和删除记录窗体的基础表。 当我们传递一个对象到 ()的方法时, Hibernate 读取该对象的变量的状态,并执行必要的查询。 Hibernate 是很好的工具尽可能对象关系映射的关注,但在连接管理和事务管理方面,它在性能和能力缺乏。 所以通常冬眠与其他正在使用的连接管理和事务管理工具。 例如 Apache 的二溴氯丙烷是用于与 Hibernate 的连接池。 Hibernate 提供了使用中的灵活性。 它被称为 “轻型 ”的体系结构时,我们只使用对象关系映射的组成部 分。 而在 “全面解决 ”的体系结构的所有三个组件对象关系映射,连接管理和事务管理)的使用。 Struts 框架的介绍 Struts 项目是 Apache 软件基金会( ASF)赞助的一个开源项目。 它最初是Jakarta 项目中的一个子项目,并在 2020 年 3 月成为 ASF 的顶级项目。 它通过采用 Java Servlet/JSP 技 术 , 实 现 了 基 于 Java EE Web 应 用 的ModelViewController 设计模式的应用框架,是 MVC 经典设计模式中的一个经典产品。 MVC 结构在 Struts 中,已经由一个名为 ActionServlet 的 Servlet 充当 控制器( Controller )的角色,根据描述模型、视图、控制器对应关系的 的配置文件,转发视图( View)的请求,组装响应数据模型( Model)。 在 MVC 的 模型( Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分别具体对应 Struts 里的 ActionForm 与 Action 两个需要继承实现超类。 在这里, Struts可以与各种标准的数据访问技术结合在一起,包括 Enterprise Java Beans( EJB) , JDBC 与 JNDI。 在 Struts 的视图( View)端,除了使用标准的 JavaServer Pages( JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如 Velocity Templates, XSLT 等。 通过应用 Struts 的框架,最终用户可以把大部分的关注点放在自己的业务逻辑( Action)与 映射关系的配置文件( )中。 发展历程在 Java EE 的 Web 应用发展的初期,除了使用 Servlet 技术以外,普遍是在 JavaServer Pages( JSP)的源代码中,采用 HTML 与 Java 代码混合的方式进行开发。 因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。 为了摆脱上述的约束与局二 〇一一 届本科毕业设计(论文) 第 8 页 共 44 页 限,把业务逻辑代码从表现层中清晰的分离出来, 2020 年, Craig McClanahan采用了 MVC 的设计模式开发 Struts。 后来该框架产品一度被认为是最广泛、最流行 JAVA 的 WEB 应用框架。 Struts 2 在 2020 年合并, WebWork 与 Struts 这两个优秀的 Java EE Web 框架 Web Framework 的团体,决定合作共同开发一个新的,整合了 WebWork 与Struts 优点,并且更加优雅、扩展性更强的框架,命名为“ Struts 2”,原 Struts的 版本产品称为“ Struts 1”。 至此, Struts 项目并行提供与维护两个主要版本的框架产品: Struts 1 与 Struts 2。 很多开发人员认为 Struts 目前尚不成熟,应用的成本较高。 附带的一点点建议: Struts 的优点主要集中体现在两个方面: Taglib 和页面导航。 Taglib 是 Struts 的标 记库,灵活动用,能大大提高开发效率。 Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架。 它的目的是为了减少在运用 MVC 设计模型来开发 Web 应用的时间。 你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。 Struts 跟Tomcat、 Turbine 等诸多 Apache 项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 Tomcat 的介绍 Tomcat是由 Apache软件基金会下属的 Jakarta项目开发的一个 Servlet容器,按照 Sun Microsystems提供的技术规范,实现了对 Servlet和 JavaServer Page( JSP)的支持,并提供了作为 Web服务器的一些特有功能,如 Tomcat管理和控制平台、安全域管理和 Tomcat阀等。 由于 Tomcat本身也内含了一个 HTTP服务器,它也可以被视作一个单独的 Web服务器。 但是,不能将 Tomcat 和 Apache Web 服务器混淆, Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。 Apache Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。 Tomcat 是一个轻量级 的应用服务器 ,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。 对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。 实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。 Tomcat提供了一 个 Jasper编译器用以将 JSP编译成对应的 Servlet。 Tomcat的 Servlet引擎通常与 Apache或者其他 Web服务器一起工作。 除了用于开发过程中。计算机软件设计精品]基于web的网上商城系统的设计与实现
相关推荐
基于 Andr oid平台的旅游通移动端系统设计与开发重庆大学本科学生毕业设计(论文)基于 Android平台的旅游通移动端系统设计与开发 学 生:何耀学 号: 20205652指导教师:吴映波专 业:软件工程专业重庆大学软件学院二 O一一年六月 Gr aduati on Design(Thesi) of
1、农业技术全集之植,际贸易市场对我国茶叶在质量方面要求有所提高,解决农药残留是迫切问题。 要生产无公害茶叶,确保优质有机食品供应市场,归纳起来须采取以下五条技术措施:)在茶园中提倡施用有机肥。 冬季施用一次基肥,春茶前施用一次催芽肥,春茶后及时施用一次接力肥,以防茶树营养不足而影响夏、秋茶质量。 (2)强调及时中耕除草,以利疏松土壤,清洁茶园,促进好气性细菌微生物活动,分解腐殖质含量
1、种加良法 选好良种:种植春玉米要选择生育期在 112 天以上、根系发达、株型紧凑、叶片上冲、生长健壮、抗逆性强的品种,如农大 108、豫玉 30 号、唐抗 8 号等。 播前要精选种子,去除小粒、病粒、秕粒并晾晒 23 天,以增强种子的吸水能力,提早出苗,提高幼苗整齐度。 选择包衣的种子:购种时最好选择包衣的种子。 如果种子未包衣,可用 50 克甲拌磷加一支必多收拌 20 公斤玉米种
、脱毒甘薯是品种复壮的一个手段,不是培育出新品种,品种的特征、特性没有改变。 比如一个品种不抗病,脱毒后仍然不抗病,依然不能在病区种植。 二、脱毒生产种利用 2 年后,随着病毒再度侵染,增产效果就不再明显,需要每 23 年更换一次脱毒薯种。 因此,必须根据当地生产和经济条件,建立起脱毒甘薯繁育与供应体系,以源源不断地为生产提供优良脱毒薯种,确保脱毒甘薯增产潜力的最大发挥。 三
稻新技术节水抗旱 平均增产 18 重庆市正在大力推广旱育机插秧水稻栽培技术,以通过农业机械化水平的提高,带来农业节水、抗旱和增产的效果。 2006 年,重庆市 36 个区县、110 个乡镇开展了水稻机械育插秧示范推广工作,推广面积 14 万亩。 经过各地农机、农业、统计、科委等技术人员联合对比测产,全市 36 个示范区县机插水稻平均亩产 5607 公斤,平均增产 18%。 专家介绍说
米棒代替营养钵育苗效果好 近几年来,我地通过试验示范,用玉米棒代替营养钵育苗,收到了很好的效果。 方法是:把干玉米棒用快刀切割成 3米长的小段后,用一根细木棍在玉米棒中心打一个深 2 厘米的洞,然后把已破口的种子放进去(棉花种子把小头放下面,其他种子一定要把有胚的一头放下面,切不能倒放,否则,出苗后翻苗,不能成活),然后盖上肥土,并整齐摆成 1 米宽,长度根据营养钵多少决定,喷水后,再盖上薄膜