




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业级软件开发姓 名:学 号:专 业:班 级:指导老师:2014 至 2015 学年 第 一 学期1, 在以Java技术为基础的Web开发中,前端开发包含哪些技术,后端开发包含哪些技术,各有何特点。详细论述。答:前端开发包含技术:1.Servlet编程技术:* 方便Servlet 提供了大量的实用工具例程,例如自动地解析和解码 HTML 表单数据、读取和设置 HTTP头、处理Cookie、跟踪会话状态等。* 功能强大Servlet 能够直接和 Web服务器交互,Servlet 还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。* 可移植性好Servlet 用 Java 编写,Servlet API具有完善的标准。因此,为 IPlanet Enterprise Server 写的 Servlet 无需任何实质上的改动即可移植到 Apache、MicrosoftIIS 或者 WebStar。几乎所有的主流服务器都直接或通过插件支持 Servlet。* 节省投资不仅有许多廉价甚至免费的 Web 服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持 Servlet 的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。2.JSP静态网页编程技术:优势:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。 缺点:(1) 与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。3.JavaScript编程技术:1).是一种解释性脚本语言(代码不进行预编译)。2).主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。3).可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。 4).跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、 Android、iOS等)。4.CSS编程技术:能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。5.MyEclipse : 利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate 后端开发包含技术:1. JDBC数据库编程技术: 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。2. MySQL:1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、 Windows等多种操作系统。3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和Tcl等。4)支持多线程,充分利用CPU资源。5)优化的SQL查询算法,有效地提高查询速度。6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7)提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9)提供用于管理、检查、优化数据库操作的管理工具。10)支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11)支持多种存储引擎。12).Mysql是开源的,所以你不需要支付额外的费用。13).MySQL使用标准的SQL数据语言形式。14).Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。15).Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。16).在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性17).复制全局事务标识,可支持自我修复式集群18).复制无崩溃从机,可提高可用性19).复制多线程从机,可提高性能3. Tomcat: 小型的轻量级应用服务器 运行时占用系统资源小 扩展性好 支持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。2,Java Web开发在使用Servlet/JSP在开发时,Servlet和JSP应各自侧重于哪些部分,用MVC的观点阐述。答: Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。这种模式下,三种技术同时使用,各种技术的分工更加详细,更加明确。因而它适合大型项目的开发。各种技术是这样分工的:JSP主要用来进行客户端显示,不再用来响应和调度。JavaBean主要用来存储数据,把查询数据库,处理数据这些工作分给了Servlet。Servlet用来响应客户端JSP或HTML页面的请求,并对请求的数据进行处理,将处理后的数据放在JavaBean中,然后转发到JSP页面去显示。这时JSP页面就可以从JavaBean中获取数据用于显示了。%3,Java Web开发时,页面的请求转发和重定向各自是指什么?它们有哪些异同之处?答: 请求转发和重定向是Servlet处理完数据后进行页面跳转的两种主要方式。 请求转发:指服务器将请求转发到另一页面,此过程仍保持在request范围内,转发后浏览器地址栏内容不变。重定向:指客户端浏览器将页面重新定位到某个新地址,之前的request失效,发起一个新的request,跳转后浏览器地址栏变为新地址。区别:1、浏览器地址栏显示不同(表面区别)无论进行多少次请求,如果使用请求转发来实现,浏览器地址栏中只显示第一次发送请求的地址;如果使用重定向来实现,浏览器地址栏显示的是每次请求的新地址。2、组件之间可否共享信息不同(本质区别)从本质上讲,请求转发时,从发送第一次到最后一次请求的过程中,WEB容器只创建一次request和response对象,请求之间始终共享这两个对象,所以每个请求可以访问他之前请求中的参数和属性的值;而重定向时,浏览器每发送一次请求,WEB容器都会重新创建新的request和response对象,所以请求之间不能共享信息,即不能在请求中访问到他之前请求中的参数和属性的值。3、 实现方式不同请求转发的实现步骤:l 说明将要转发的资源;l 获取请求转发的对象;l 调用请求转发对象中forward()方法重定向的实现步骤:l 说明将要重定向的资源;l 调用response对象中的sendRedirect方法4、 知情人不同请求转发时转发过程只有WEB服务器知道,而浏览器不知道进行了多少次转发,以及都转发给哪些组件(servlet,JSP),它只是在等待WEB服务器最终的结果;而重定向时,每发送一次请求,WEB服务器都会通知浏览器的,所以重定向了几次请求以及每次都向哪个组件发送的请求,浏览器都很请楚,当然WEB服务器也很明白。相同点:两者都可以进行多次请求的转发。 4,Struts 2作为一种Java Web框架,其主要作用是什么,在哪些方面比Servlet/JSP开发提高了开发效率,详细论述。答:作为 Java web框架应该大体实现以下功能:1.获取表单内容,并组织生成参数对象2.根据请求的参数转发请求给适当的控制器3.在控制器中调用业务接口4.将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现5.做一些简单的校验或是国际化工作 Struts 2提供了统一的web mvc开发框架,对直接servlet/jsp开发时使用的HttpServletRequest和HttpServletResponse对象进行了封装,利用Struts 2提供的过滤分发器以及拦截器等核心技术,在其类似Java Bean的action中可以快速实现如参数绑定、页面跳转、文件上传等等以往servlet/jsp实现起来较繁琐的操作。5,Java Web开发中为什么要采用一些ORM框架,何为ORM框架,其主要代表框架Hibernate简化了哪些方面的开发,详细论述。答:因为对象关系映射(ORM)提供了概念性的、易于理解的模型化数据的方法。ORM方法论基于三个核心原则: 简单:以最基本的形式建模数据。 传达性:数据库结构被任何人都能理解的语言文档化。 精确性:基于数据模型创建正确标准化了的结构。典型地,建模者通过收集来自那些熟悉应用程序但不熟练的数据建模者的人的信息开发信息模型。建模者必须能够用非技术企业专家可以理解的术语在概念层次上与数据结构进行通讯。建模者也必须能以简单的单元分析信息,对样本数据进行处理。ORM专门被设计为改进这种联系。ORM框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。当前ORM框架主要有三种:Hibernate,iBATIS,EclipseLink。其主要代表框架Hibernate主要通过提供Java对象到关系数据库之间的映射,在进行一些基本的数据库配置和映射配置后,利用其API以面向对象的方式操作关系数据库,如CRUD等操作,以及事务管理、缓存等功能,比jdbc api写起来方便很多。其主要优点为: 1、封装了jdbc,简化了很多重复性代码。 2、简化了DAO层编码工作,使开发更对象化了。 3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。 4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。6,Spring框架的IoC是指什么,AOP是指什么,在Java Web开发中有哪些实际应用,试简要描述。答:IoC(控制反转 )是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。实际应用: IoC可以用不同的方式实现。其主要形式有两种:依赖查找:容器提供回调接口和上下文条件给组件。EJB和Apache Avalon 都使用这种方式。这样一来,组件就必须使用容器提供的API来查找资源和协作对象,仅有的控制反转只体现在那些回调方法上(也就是上面所说的 类型1):容器将调用这些回调方法,从而让应用代码获得相关资源。依赖注入:组件不做定位查询,只提供普通的Java方法让容器去决定依赖关系。容器全权负责的组件的装配,它会把符合依赖关系的对象通过JavaBean属性或者构造函数传递给需要的对象。通过JavaBean属性注射依赖关系的做法称为设值方法注入(Setter Injection);将依赖关系作为构造函数参数传入的做法称为构造器注入(Constructor Injection)AOP(面向切面编程 ),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。实际应用:AOP提供一种提取横切代码的方法,这种横切代码横跨各个对象层次,但与它所跨越的对象代码在功能上没有相关性。AOP不是在类中嵌入横切代码,而是允许你将横切代码提取到一个单独的模块中,然后在需要的时候动态地应用该代码,这个单独的模块叫做一个特征代码(aspect,也译作标记)。通过在你的对象模型中需要应用横切代码的地方定义特定的位置-切入点(pointcut)-来实现动态的应用横切代码。在运行或编译时,根据你的AOP框架,横切代码被插入指定的切入点。本质上说,AOP允许你在对象中引入新功能,而对象无需了解所引入的功能。7,你所了解的Java Web开发相关的框架,除了SSH(Struts2, Hibernate, Spring)以外还有哪些,查阅资料介绍2种,并说明其特点。答:一、Tapestry特点:Tapestry具有很高的代码复用性,在Tapestry中,任何对象都可看作可复用的组件。JSP开发者是真正面向对象,而不是URL解析。对于对页面要求灵活度相当高的系统,Tapestry是第一选择。精确地错误报告,可以将错误定位到源程序中的行,取代了JSP中那种编译后的提示。如果技术允许,使用Tapestry会带给整个应用更加优雅的架构,更好的开发效率。但是,在实际开发过程中,采用Tapestry也面临着一些问题必须考虑:-Tapestry的学习曲线相对陡峭,国内开发群体不是非常活跃,文档不是十分丰富。官方的文档太过学院派,缺乏实际的示例程序- Tapestry的组件逻辑比较复杂,再加上OGNL表达式和属性指定机制,因而难以添加注释。1、Tapestry是一个全面web application框架,是使用JAVA写的。2、 Tapestry不是一个application server,Tapestry是一个使用在application server中的框架。3、 Tapestry不是一个application,Tapestry是一个用来创建web application的框架。4、 Tapestry不是JSP的一种使用方式,Tapestry和JSP只能够选择一种。5、 Tapestry不是一个脚本环境,Tapestry使用一种组件对象模式(component object model),这并不是一种简单的脚本,而是用于生成高动态性高互交性的web页面。6、 Tapestry基于Java Servlet API version 2.2,兼容于JDK 1.2以上版本,Tapestry通过变换多样的组件模式,将一个web application分离为一个联合组件。每一个组件都拥有其特殊的责任用于显示web页面或者响应HTML请求。2、 Wicket Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。 Wicket使用原生的HTML元素,通过标签声明为特殊的控件,在后台使用java程序控制这些控件。 Wicket最大的优点就是把视图层和控制层进行了分离。8,从软件工程的角度,简要分析一个完整的Java Web项目开发中还有哪些值得改进的地方答:我觉得应按照以下过程进行开发,便于后期问题解决及维护:1、项目启动 1)、项目组成立(公司成员、客户成员) 2)、制定项目预期目标 3)、制定项目计划周期 4)、建立好项目组成员沟通机制2、需求调研 1)、创建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询直播方案怎么写好
- 江门企业拓展活动方案策划
- 保险咨询方案收费原因
- 还款咨询方案怎么写
- 节日活动策划方案案例分析
- 脑部障碍康复咨询方案
- 苏州职业危机咨询方案
- 朔州液压顶管施工方案
- 幼儿园舞蹈排练比赛合同范文8篇
- 施工现场设备管理措施专项施工方案
- 场景速写课件
- GPS的课件教学课件
- 2026年高考作文备考之抗日战争胜利80周年(九三阅兵)主题素材积累与运用
- 肺栓塞考试题及答案
- 2025年运动员:体育与健康知识试题及答案
- 综合实践 探索年月日的秘密(教案)北师大版数学三年级上册
- 2025年医师三基考试试题及答案(上半年)
- 2025年调酒师职业资格考试模拟试题集锦及答案
- 基孔肯雅热主题班会课件
- 2025年北京市公务员考试行测真题及答案详解(全优)
- 锁骨下盗血综合征伴锁骨下动脉闭塞的护理查房
评论
0/150
提交评论