山东大学现代软件开发技术复习纲要
2016-06-29 09:42
330 查看
1. 什么是企业级系统?它有哪些特点?
企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。
作为企业级应用,其不但要有强大的功能,还要能够满足未来业务需求的变化,易于升级和维护。
₪稳定
₪大
■ 数据量大、并发量大、外部资源多、用户多
₪分布式
₪可移植
₪面向Web体系
₪可装配
₪能满足企业计算要求
■ 一致性、事务性、安全性
₪还要有好的特性
■ 可伸缩、可扩展、易维护
2. 企业级应用架构有什么特点?
3. 什么是JavaEE?它有哪些优势?
JavaEE(Java 2Enterprise Edition,Java平台企业版)是建立在Java 2平台上的企业级应用的解决方案,是SUN公司提出的一个标准。
JavaEE技术的基础是Java 2平台
JavaEE并非一个产品,而是一系列的标准
₪为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制
₪保留和扩展现有资源
■ 循序渐进,提供了不用废弃已有投资,进入可移植的JavaEE领域的升级
■ 跨平台,现有的操作系统和硬件能被保留使用
₪ 高效的开发
■ 把一些通用的、很繁琐的服务端任务交给中间件供应商去完成
■ 中间件供应商提供中间件服务
₪ 支持异构环境
■ 能够开发部署在异构环境中的可移植程序
■ 允许客户订购与JavaEE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
₪ 可伸缩性
■ 能够满足多种服务器端平台
₪ 稳定的可用性
■ 全天候运转
4. 简述JavaEE多层分布式应用模型。
典型的四层结构(会有多个子层)
运行在客户端机器上的客户层组件
运行在JavaEE服务器上的Web层组件
运行在JavaEE服务器上的业务逻辑层组件
运行在EIS服务器上的企业信息系统(Enterprise information system)层软件
客户层组件
◦ JavaEE应用程序可以是基于web方式的,也可以是基于传统方式的
web 层组件
◦ JavaEE web层组件可以是JSP 页面或Servlets
◦ 静态的HTML页面和Applets不算是web层组件
业务层组件(EJB)
◦ 会话bean 表示与客户端程序的临时交互
◦ 实体bean 表示数据库的表中一行永久的记录
◦ 消息驱动bean 结合了会话bean 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息.
企业信息系统层
◦ 企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统
5. 什么是HTTP?
HyperText Transfer Protocol
TCP/IP协议之上
应用层协议
以特定的格式传递信息
超文本传输协议(HTTP,HyperTextTransfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
6. 主流的有哪些动态网页技术?
• 客户向服务器传递信息
• 服务器对客户的请求响应
• CGI(Common Gateway Interface)
• C/其他接口编程语言
• Cgi-bin
• Perl (Practical extraction and Reporting Language)
• 脚本语言
• 通过CGI,stdin/stdout通信
• 现代常用Web脚本
• PHP(Personal Home Page)
• ASP (Active Server Page)/ASP.NET
• JSP (Java Server Page)
7. 什么是Servlet和JSP?它们有什么关系?
Servlet是运行在服务器端,用来响应客户端请求,生成动态Web页面的一个J2EE组件,是能够使用print语句产生动态HTML内容的Java类,它符合Java类的一般规则。Servlet在javax.servlet(基本的Servlet框架)和javax.servlet.http(为Servlet响应HTTP请求的Servlet框架的扩展)包中作为Java的标准扩展类使用。
在Servlet API中提供了大量的方法,可以在Servlet中调用。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Servlet是CGI(Common Gateway Interace,即:公共网关接口)脚本的一种替代技术,由于Servlet在性能、可移植性、代码重用等方面比CGI具有显著的优势,现在已逐步或已经取代了CGI。
JSP是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态页面。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
JSP都是在HTML中混合Java编程语言代码,由Web服务器解释执行,JSP代码被编译为Servlet并由Java虚拟机解释执行,这种编译仅仅在对JSP的第一次请求时进行。
8. 简述Servlet的生命周期。
Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。
在编程代码的实现中,Servlet生命周期由接口javax.servlet.Servlet定义,所有的Servlet必须直接或间接的实现javax.servlet.Servlet接口,这样才能在Servlet引擎(Engine)上运行。
Servlet引擎提供网络服务,响应MIME请求,运行Servlet容器。
javax.servlet.Servlet接口定义了一些方法,在Servlet生命周期中,这些方法会在特定的时间上,按一定的顺序被调用。
Servlet的生命周期主要由3个过程组成。
1)Servlet的初始化
2)Servlet的执行
3)Servlet的结束
9. 简述Servlet和JSP的工作原理。
Servlet工作原理
Servlet运行在Web服务器上的Web容器里
Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端
Web容器在Servlet的使用期限结束时终结该Servlet。服务器关闭时,Web容器会从内存中卸载和除去Servlet
10. Java EE中容器指的是什么?它在JavaEE应用架构中处于什么位置?容器的主要作用是什么?
容器是用来管理组件行为的一个集合工具,组件的行为包括与外部环境的交互、组件的生命周期、组件之间的合作依赖关系等等。
J2ee的核心概念就是组件+容器,随着越来越多的J2ee框架出现,相应的每种框架都一般有与之对应的容器。
11. 什么是XML?它有什么特点?适用于哪些应用场合?
XML(eXtensible Markup Language): 可扩展的标记语言
可扩展:相对HTML(超文本标记语言), 编辑网页文件时, 网页文件中使用的HTML标签都是预先规定好的,不能根据自己意愿添加规定外的标签。而如果编辑一个XML文件,可以根据自己意愿定义标签来完成。
特点和运用
• 可扩展性是XML最主要的特点
• XML是一种元标记语言(它只表示数据本身,没有显示的样式)
• 和HTML比较: HTML不仅表示数据而且还有显示的样式
• 真正的数据和显示分离
• 基于这样的特点,XML主要用来交换数据
• 用交换双方都可以明白的标签来封装数据
• 比如WebServices,就是在不同平台和不同语言之间交换数据
• 写配置文件
12. DTD和XML Schema的区别是什么。
• DTD被用来定义内容的模型,验证和组织元素。同时,它也有很多局限:
• DTD不遵守XML语法;
• DTD不可扩展;
• DTD不支持命名空间的应用;
• DTD没有提供强大的数据类型支持,只能表示很简单的数据类型。
• Schema完全克服了这些弱点,使得基于Web的应用系统交换XML数据更为容易。下面是它所展现的一些新特性:
• Schema完全基于XML语法,不需要再学习特殊的语法;
• Schema能用处理XML文档的工具处理,而不需要特殊的工具;
• Schema大大扩充了数据类型,支持booleans、numbers、dates and times、URIs、integers、decimalnumbers和real numbers等;
• Schema支持原型,也就是元素的继承。如:我们定义了一个“联系人”数据类型,然后可以根据它产生“朋友联系人”和“客户联系”两种数据类型;
• Schema支持属性组。我们一般声明一些公共属性,然后可以应用于所有的元素,属性组允许把元素、属性关系放于外部定义、组合;
• 开放性。原来的DTD只能有一个DTD应用于一个XML文档,现在可以有多个Schema运用于一个XML文档。
13. 什么是MVC模式?它有哪些优势?
MVC是一种通过三个不同部分构造一个软件或组件的理想办法:
模型(Model)——用于存储数据的对象。
视图(View)——为模型提供数据显示的对象。
控制器(Controller)——负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出处理,并将有关结果存储到模型中,同时负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。
耦合性低
重用性高
生命周期成本低
MVC使开发和维护用户接口的技术含量降低。
部署快
可维护性高
有利软件工程化管理
14. Struts2是如何体现MVC设计模式的特点及优点?
Struts2是一个用来开发 MVC应用程序的框架. 它提供了 Web
应用程序开发过程中的一些常见问题的解决方案:
对页面导航活动进行管理(MVC中的C 或V)
对来自用户的输入数据进行合法性验证
统一的布局
可扩展性
国际化和本地化
支持 Ajax
表单的重复提交
15. 中间件、成熟的开发框架对实现企业级信息系统是否重要?体现在哪些方面?
企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。
作为企业级应用,其不但要有强大的功能,还要能够满足未来业务需求的变化,易于升级和维护。
₪稳定
₪大
■ 数据量大、并发量大、外部资源多、用户多
₪分布式
₪可移植
₪面向Web体系
₪可装配
₪能满足企业计算要求
■ 一致性、事务性、安全性
₪还要有好的特性
■ 可伸缩、可扩展、易维护
2. 企业级应用架构有什么特点?
3. 什么是JavaEE?它有哪些优势?
JavaEE(Java 2Enterprise Edition,Java平台企业版)是建立在Java 2平台上的企业级应用的解决方案,是SUN公司提出的一个标准。
JavaEE技术的基础是Java 2平台
JavaEE并非一个产品,而是一系列的标准
₪为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制
₪保留和扩展现有资源
■ 循序渐进,提供了不用废弃已有投资,进入可移植的JavaEE领域的升级
■ 跨平台,现有的操作系统和硬件能被保留使用
₪ 高效的开发
■ 把一些通用的、很繁琐的服务端任务交给中间件供应商去完成
■ 中间件供应商提供中间件服务
₪ 支持异构环境
■ 能够开发部署在异构环境中的可移植程序
■ 允许客户订购与JavaEE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
₪ 可伸缩性
■ 能够满足多种服务器端平台
₪ 稳定的可用性
■ 全天候运转
4. 简述JavaEE多层分布式应用模型。
典型的四层结构(会有多个子层)
运行在客户端机器上的客户层组件
运行在JavaEE服务器上的Web层组件
运行在JavaEE服务器上的业务逻辑层组件
运行在EIS服务器上的企业信息系统(Enterprise information system)层软件
客户层组件
◦ JavaEE应用程序可以是基于web方式的,也可以是基于传统方式的
web 层组件
◦ JavaEE web层组件可以是JSP 页面或Servlets
◦ 静态的HTML页面和Applets不算是web层组件
业务层组件(EJB)
◦ 会话bean 表示与客户端程序的临时交互
◦ 实体bean 表示数据库的表中一行永久的记录
◦ 消息驱动bean 结合了会话bean 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息.
企业信息系统层
◦ 企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统
5. 什么是HTTP?
HyperText Transfer Protocol
TCP/IP协议之上
应用层协议
以特定的格式传递信息
超文本传输协议(HTTP,HyperTextTransfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
6. 主流的有哪些动态网页技术?
• 客户向服务器传递信息
• 服务器对客户的请求响应
• CGI(Common Gateway Interface)
• C/其他接口编程语言
• Cgi-bin
• Perl (Practical extraction and Reporting Language)
• 脚本语言
• 通过CGI,stdin/stdout通信
• 现代常用Web脚本
• PHP(Personal Home Page)
• ASP (Active Server Page)/ASP.NET
• JSP (Java Server Page)
7. 什么是Servlet和JSP?它们有什么关系?
Servlet是运行在服务器端,用来响应客户端请求,生成动态Web页面的一个J2EE组件,是能够使用print语句产生动态HTML内容的Java类,它符合Java类的一般规则。Servlet在javax.servlet(基本的Servlet框架)和javax.servlet.http(为Servlet响应HTTP请求的Servlet框架的扩展)包中作为Java的标准扩展类使用。
在Servlet API中提供了大量的方法,可以在Servlet中调用。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Servlet是CGI(Common Gateway Interace,即:公共网关接口)脚本的一种替代技术,由于Servlet在性能、可移植性、代码重用等方面比CGI具有显著的优势,现在已逐步或已经取代了CGI。
JSP是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态页面。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
JSP都是在HTML中混合Java编程语言代码,由Web服务器解释执行,JSP代码被编译为Servlet并由Java虚拟机解释执行,这种编译仅仅在对JSP的第一次请求时进行。
8. 简述Servlet的生命周期。
Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。
在编程代码的实现中,Servlet生命周期由接口javax.servlet.Servlet定义,所有的Servlet必须直接或间接的实现javax.servlet.Servlet接口,这样才能在Servlet引擎(Engine)上运行。
Servlet引擎提供网络服务,响应MIME请求,运行Servlet容器。
javax.servlet.Servlet接口定义了一些方法,在Servlet生命周期中,这些方法会在特定的时间上,按一定的顺序被调用。
Servlet的生命周期主要由3个过程组成。
1)Servlet的初始化
2)Servlet的执行
3)Servlet的结束
9. 简述Servlet和JSP的工作原理。
Servlet工作原理
Servlet运行在Web服务器上的Web容器里
Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端
Web容器在Servlet的使用期限结束时终结该Servlet。服务器关闭时,Web容器会从内存中卸载和除去Servlet
10. Java EE中容器指的是什么?它在JavaEE应用架构中处于什么位置?容器的主要作用是什么?
容器是用来管理组件行为的一个集合工具,组件的行为包括与外部环境的交互、组件的生命周期、组件之间的合作依赖关系等等。
J2ee的核心概念就是组件+容器,随着越来越多的J2ee框架出现,相应的每种框架都一般有与之对应的容器。
11. 什么是XML?它有什么特点?适用于哪些应用场合?
XML(eXtensible Markup Language): 可扩展的标记语言
可扩展:相对HTML(超文本标记语言), 编辑网页文件时, 网页文件中使用的HTML标签都是预先规定好的,不能根据自己意愿添加规定外的标签。而如果编辑一个XML文件,可以根据自己意愿定义标签来完成。
特点和运用
• 可扩展性是XML最主要的特点
• XML是一种元标记语言(它只表示数据本身,没有显示的样式)
• 和HTML比较: HTML不仅表示数据而且还有显示的样式
• 真正的数据和显示分离
• 基于这样的特点,XML主要用来交换数据
• 用交换双方都可以明白的标签来封装数据
• 比如WebServices,就是在不同平台和不同语言之间交换数据
• 写配置文件
12. DTD和XML Schema的区别是什么。
• DTD被用来定义内容的模型,验证和组织元素。同时,它也有很多局限:
• DTD不遵守XML语法;
• DTD不可扩展;
• DTD不支持命名空间的应用;
• DTD没有提供强大的数据类型支持,只能表示很简单的数据类型。
• Schema完全克服了这些弱点,使得基于Web的应用系统交换XML数据更为容易。下面是它所展现的一些新特性:
• Schema完全基于XML语法,不需要再学习特殊的语法;
• Schema能用处理XML文档的工具处理,而不需要特殊的工具;
• Schema大大扩充了数据类型,支持booleans、numbers、dates and times、URIs、integers、decimalnumbers和real numbers等;
• Schema支持原型,也就是元素的继承。如:我们定义了一个“联系人”数据类型,然后可以根据它产生“朋友联系人”和“客户联系”两种数据类型;
• Schema支持属性组。我们一般声明一些公共属性,然后可以应用于所有的元素,属性组允许把元素、属性关系放于外部定义、组合;
• 开放性。原来的DTD只能有一个DTD应用于一个XML文档,现在可以有多个Schema运用于一个XML文档。
13. 什么是MVC模式?它有哪些优势?
MVC是一种通过三个不同部分构造一个软件或组件的理想办法:
模型(Model)——用于存储数据的对象。
视图(View)——为模型提供数据显示的对象。
控制器(Controller)——负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出处理,并将有关结果存储到模型中,同时负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。
耦合性低
重用性高
生命周期成本低
MVC使开发和维护用户接口的技术含量降低。
部署快
可维护性高
有利软件工程化管理
14. Struts2是如何体现MVC设计模式的特点及优点?
Struts2是一个用来开发 MVC应用程序的框架. 它提供了 Web
应用程序开发过程中的一些常见问题的解决方案:
对页面导航活动进行管理(MVC中的C 或V)
对来自用户的输入数据进行合法性验证
统一的布局
可扩展性
国际化和本地化
支持 Ajax
表单的重复提交
15. 中间件、成熟的开发框架对实现企业级信息系统是否重要?体现在哪些方面?
相关文章推荐
- 通过List.apply方法构造List的背后逻辑
- ASP.NET MVC企业级实战目录
- Delphi之多线程实例
- Mybatis极其(最)简(好)单(用)的一个分页插件
- 从头到尾彻底解析哈希表算法
- Jackson异常情况处理
- ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方案
- 添物不花钱学计算机及编程(预备篇) - 软件工程
- 添物不花钱学计算机及编程(预备篇) - 软件工程
- Java Map按键排序和按值排序
- Eclipse去除js(JavaScript)验证错误
- 比较三个数的大小,让其按大小顺序排列
- Android开发中的简单设置技巧集锦
- Mybatis 示例之 复杂(complex)属性(property)
- Collection框架
- python大规模数据处理技巧之三:数据库操作篇
- 【转载】Markdown使用笔记
- Ubuntu SSH Algorithm negotiation failed
- Java中初始化块和静态初始化块的区别
- 深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题