基于J2EE的开发技术 (本科)2
- 格式:docx
- 大小:191.57 KB
- 文档页数:11
J2EE相关技术介绍J2EE 技术介绍J2EE 概述为了解决企业在软件开发中出现的问题,SUN 公司提出的以Java 2 平台为核心一种框架方案J2EE。
它的出现精简了企业软件开发、部署过程,为企业建造高质量的应用系统提供了好的支撑,解决了传统两层模式(Client/Server)下客户端庞大的弊端。
J2EE 平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web 的多层应用系统提供了强大的支持,本质上是一个分布式的服务器应用程序设计环境。
2005 年 6 月,J2EE 正式更名为Java EE。
J2EE 的四层模型J2EE 采用多层的分布式模型,J2EE 应用程序既可以是三层结构,也可以是四层结构。
典型的基于B/S 的J2EE Web 应用四层结构包括客户层、控制层、业务层和持久层,分层图如图 2.1 所示:1客户层客户层又称为用户层。
简单来理解就它主要是与客户双向互动的,既接收来客户的命令或请求又把来自系统的执行结果展示给用户。
J2EE 客户端有许多,可以是基于Web 或者不是基于Web。
通常用户层采用Web 客户端,也就是瘦客户端,显示由JSP 或Servlet 产生的Web 页面。
客户层一般不实现如数据库操作(sql)、完成复杂的业务逻辑这样的功能。
Web 客户端基于浏览器形式,维护、使用、升级方便,不需要单独再次安装客户端。
2控制层控制层又称Web 层。
它的主要作用是接收来自客户端的请求(Request),并对客户的请求产生相应的响应(Response)。
J2EE 平台中,控制层是由Web容器内的组件来实现,可以解决系统异构性问题,实现系统的通用性、可伸缩性、易维护性。
3业务层业务层或EJB 层主要是满足某些领域(教育业和金融业)特定业务需要的。
通常情况下,业务层提供业务服务组件供应用程序使用。
业务组件通常被实现EJB(Enterprise JavaBeans)组件,并由EJB 容器负责管理和执行。
《J2EE企业级应用开发》课程标准一、课程定位《J2EE企业级应用开发》是计算机软件技术专业的一门专业课程,本课程所涵盖的知识和技能是作为软件技术专业学生的核心能力之一。
通过本课程的学习,使学生能够按照软件工程的理论和方法进行基于企业级JavaBean(EJB)技术的企业级应用系统的开发。
通过本课程及其实践环节教学,使学生能够使用JSP+EJB技术进行规范的Java企业级应用开发,并培养学生分析问题和解决问题的能力。
为以后进行实际的软件开发工作打下良好的专业知识和职业技能基础。
二、课程目标通过本课程的学习,培养和提高计算机软件技术专业学生的职业核心能力和素质。
使学生能够具备良好的职业素养,具备团队协作、与人沟通等多方面的能力;使学生具有较强的专业知识和技能,并具备进行自我专业知识拓展的能力。
让学生尽可能地达到入职即可工作,尽可能地做到与企业需求的“无缝结合”。
1、知识目标本课程涵盖了以下知识目标:(1)熟悉软件开发的基本流程;(2)熟悉Java EE应用和开发环境(Eclipse + Weblogic)的搭建和使用;(3)掌握无状态会话Bean(Session Bean)开发技术;(4)掌握有状态会话Bean(Session Bean)开发技术;(5)掌握Bean管理持久化实体Bean(BMP)的开发技术;(6)掌握容器管理持久化实体Bean(CMP)的开发技术;(7)了解消息驱动Bean的工作原理;(8)掌握JSP/Servlet技术、会话Bean开发技术和实体Bean开发技术的整合应用;2、能力目标(1)能查阅英文版的相关技术手册;(2)能通过团队协作完成软件项目的开发;(3)能对软件开发过程中遇到的各种错误和异常进行分析和排错;(4)能采用软件工程的思想和方法设计和实现企业级的应用软件项目;4、素质目标(1)具有良好的沟通表达能力、团队协作精神。
(2)具有良好的心理素质,顽强的意志力,勇于克服困难;(3)具有较强的身体素质,适应艰苦工作需要;(4)具有较扎实的业务基础,并能不断进行创新和自我超越。
J2EE开发技术什么是J2EE开发技术J2EE(Java Enterprise Edition)是一种基于Java语言的用于开发企业级应用程序的技术平台。
它提供了一组标准规范和API,用于开发和部署分布式、可移植、可扩展和安全的企业应用。
J2EE的组成部分J2EE平台由多个组件组成,每个组件都有自己的功能和职责,它们一起构成了一个完整的企业应用程序。
以下是J2EE平台的主要组件:ServletsServlets是运行在Web服务器上的Java类,它们用于处理HTTP请求和响应。
Servlets可以用于生成动态的Web页面,处理表单数据,访问数据库,实现用户认证等功能。
JavaServer Pages (JSP)JSP是一种用于创建动态Web页面的技术。
它允许Java代码与HTML标记混合在一起,以实现动态内容。
JSP文件在服务器上被编译为Servlets,然后由Web服务器执行。
Enterprise JavaBeans (EJB)EJB是一种用于开发分布式企业应用程序的组件模型。
它提供了一种面向对象的方式来编写服务器端的业务逻辑。
EJB可以管理事务处理、安全性、并发性和持久性等方面的细节。
Java Message Service (JMS)JMS是一种用于在分布式应用程序之间发送消息的API。
它提供了一种可靠和异步的通信机制,可以用于构建高可用性和可扩展性的分布式系统。
Java Database Connectivity (JDBC)JDBC是Java编程语言使用关系型数据库的标准API。
它提供了一组类和接口,用于执行数据库查询、插入、更新和删除操作等。
Java Naming and Directory Interface (JNDI)JNDI是一种用于在分布式系统中查找和访问对象的API。
它提供了一种统一的方式来管理分布式应用程序中的资源,如数据库连接池、消息队列等。
J2EE开发工具和框架为了加快开发过程并提高代码质量,开发人员通常会使用各种工具和框架来支持J2EE开发。
Java 2 Enterprise Edition (J2EE) 是一种基于Java 的应用程序开发平台,它提供了一套标准的技术框架来方便企业级应用程序的开发和部署。
J2EE 技术框架主要包括以下组件和规范:
1.Servlet 和JSP 技术:Servlet 提供了一种基于Java 的Web 应用程序开发方式,
而JSP 允许开发者在HTML 页面中嵌入Java 代码。
2.EJB 技术:Enterprise JavaBeans (EJB) 是一种分布式应用程序开发的技术,它提供了
一套组件模型和容器,可以让开发人员专注于业务逻辑而不必关心底层细节。
3.JNDI 技术:Java Naming and Directory Interface (JNDI) 是一种用于管理命名和目录
服务的API,它提供了一种标准的方式来访问各种命名和目录服务,例如LDAP、DNS、CORBA 等。
4.JDBC 技术:Java Database Connectivity (JDBC) 是一种用于数据库访问的API,它
提供了一种标准的方式来访问各种关系型数据库。
5.JMS 技术:Java Message Service (JMS) 是一种用于异步消息传递的API,它允许应
用程序通过消息队列来实现解耦和异步消息传递。
除了上述组件和规范之外,J2EE 还包括了许多其他的技术和工具,例如JTA、JPA、JMX 等,这些技术和工具都旨在提高企业级应用程序的开发效率和可靠性。
j2ee 实验报告J2EE实验报告引言:J2EE(Java 2 Enterprise Edition)是一种用于开发企业级应用程序的Java平台。
它提供了一套完整的技术规范和工具,使开发人员能够构建可靠、可扩展和安全的企业应用。
本文将探讨J2EE的基本概念、架构和实验结果,以及对J2EE在企业级应用开发中的应用前景进行分析。
一、J2EE的基本概念J2EE是Java平台的一部分,旨在简化和加速企业级应用程序的开发过程。
它采用了分层架构,将应用程序的不同功能分割成不同的组件,以实现更好的可维护性和重用性。
J2EE的基本概念包括以下几个方面:1.1 分层架构J2EE采用了分层架构,将应用程序划分为客户端、Web层、业务逻辑层和数据访问层等不同的组件。
这种架构使得应用程序的不同部分能够独立开发和部署,提高了开发效率和可维护性。
1.2 组件模型J2EE采用了组件模型,将应用程序的不同功能封装成不同的组件,如Servlet、JSP、EJB等。
这些组件可以独立开发、测试和部署,提高了代码的重用性和可扩展性。
1.3 事务管理J2EE提供了强大的事务管理机制,确保在并发访问和故障恢复等情况下数据的一致性和完整性。
开发人员可以通过使用JTA(Java Transaction API)和JTS(Java Transaction Service)等技术来管理事务。
二、J2EE的架构J2EE的架构包括客户端、Web层、业务逻辑层和数据访问层等不同的组件。
每个组件都有特定的功能和职责。
下面将对这些组件进行详细介绍。
2.1 客户端客户端是用户与应用程序交互的界面,可以是桌面应用程序、移动应用程序或Web浏览器。
客户端通过HTTP协议或其他协议与Web层进行通信,向用户展示数据和接收用户的输入。
2.2 Web层Web层是应用程序的前端,负责接收用户的请求并将其转发给业务逻辑层进行处理。
Web层通常由Servlet和JSP组成,Servlet用于处理请求和生成响应,JSP用于生成动态内容。
1. 实体 Bean 是由什么组成的作业提交 2(A) EntityManager 对象。
(B) persistence.xml 的简单的 XML 部署描述文件。
(C) 实体(D) 纯粹的 Java 对象(POJO)。
(E) 以上都是。
[参考答案:BC] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分2. 下列说法正确的是 (A) JSP 充当 MVC 模式的视图(B) Servlet 充当 MVC 模式的模型(C) Servlet 充当 MVC 模式的控制器(D) JavaBean 充当 MVC 模式的控制器(E) EJB 充当 MVC 模式的模型 [参考答案:ACE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分3. 当我们要在 JSP 页面中使用自定义标记时需要 (A) 在 tld 文件中定义标记(B) 在 JSP 页面中使用 page 指令(C) 创建一个标记处理器(D) 引入这个标记的标记库,并指定前缀名(E) 在 JSP 页面中使用 taglib 指令[参考答案:ACDE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分4. 下面关于 Tag 接口说法中正确的是 (A) setPageContext()方法为初始化方法 doEndTag 方法,EVAL_PAGE 或者 SKIP_PAGE,当返回值为 EVAL_PAGE, (B) jsp 容器将继续执行 jsp 页面的内容,否则不执行 doStartTag()方法返回 EVAL_BODY_INCLUDE 和 SKIP_BODY,返回 (C) EVAL_BODY_INCLUDE 计算正文内容,返回 SKIP_BODY 不计算 body。
(D) setParent()方法用来设置标记的上一级标记(E) release()方法用来释放标签程序占用的任何资源[参考答案:ABCDE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分5. 以下几个术语正确对应的是 (A) EJB—企业 Java Bean(B) DI—依赖注入(C) MDB—消息驱动 Bean(D) ISV—独立软件开发商(E) IDE—集成开发环境[参考答案:ABCDE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分6. 下列关于 ResultSet 接口的说法哪些是正确的? ResultSet 接口被用来提供访问查询结果的数据表,查询结果被当作 ResultSet(A) 对象而返回。
ResultSet 的 next() 方法用来移动指针到数据表的下一行,如果到达表尾,(B) next() 方法返回假的布尔值-false,否则为真。
(C) ResultSet 对象提供“指针”,指针每次访问数据库表的一行。
ResultSet 接口提供大量的获得数据的方法,这些方法返回数据表中任意位置的 (D) 数据。
(E) 以上说法都不对[参考答案:ABCD] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分7. 关于 JNDI 和名字空间下列说法正确的是? (A) Java 命名和目录接口(Java Naming and Directory Interface)。
(B) Java 命名及目录接口作为 J2EE 框架中的一种核心技术。
(C) JNDI 可以应用于 EJB、RMI 和 JDBC 等。
它是网络上查找事务的标准方法。
(D) 以上说法都不对(E) JNDI 是一个通用接口。
[参考答案:ABC] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分8. 以下关于传统 EJB 与新一代 EJB 之间的区别叙述正确的是 新一代 EJB3.0 简化了 EJB 组件的开发过程,改变了 EJB 的编程模型,为了适(A) 宜 EJB3.0,EJB 技术也随之改变。
(B) 以上说法均不正确。
传统 EJB 中需要部署描述符、厂商专有文件、Ejb-jar 文件等等,部署复杂,而 (C) 新一代 EJB3.0 已经不需要部署描述符了。
新一代 EJB3.0 最大的改变是使用了 Java 元数据注释,大大的简化了 EJB 组件 (D) 的开发过程。
(E) 新一代 EJB3.0 同传统 EJB 相比较,不再需要 Home 接口和对象接口了。
[参考答案:DE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分9. 关于 DriverManager 类下列哪些程序段是正确的? (A) DriverManager.registerDriver("org.gjt.mm.mysql.Driver");(B) DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());(C) Class.forName("org.gjt.mm.mysql.Driver");(D) Class.forName(new org.gjt.mm.mysql.Driver());(E) 以上说法都不对[参考答案:BC] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分10. 实体 Bean 与 Session Bean 有什么区别______ (A) 对象引用不同,实体存在客户可见的、持久化身份(主键)。
(B) 不能够直接通过远程访问到实体。
(C) 以上说法都不正确。
(D) 实体的生命周期可能与应用本身的生命周期无关。
(E) 实体存在持久化、客户可见的状态。
[参考答案:ABDE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分11. 以下选项是 EJB3.0 中的注释,其中用于会话 Bean 的生命周期的是_______ (A) @Move(B) @PostConstruct(C) @PrePassivate(D) @PostDestroy(E) @Init[参考答案:BCE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分12. 下列有关 MVC 设计模式正确的是 (A) M 代表模型 Model,V 代表视图 View,C 代表控制器 Controller。
采用 MVC 设计模式可以使软件的可维护性、可修复性、可扩展性、灵活性以及 (B) 封装性大大提高。
(C) MVC 的“模型”,负责所有业务流程/状态的处理以及业务规则的制定。
MVC 的“视图”,是代表用户与服务器进行交互的页面,即我们能看到和操作的 (D) 页面。
(E) Servlet 是 MVC 的“控制器 Controller”的典型代表。
[参考答案:ABCDE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分13. 以下关于 EJB3.0 中的依赖注入技术叙述正确的是 在无状态会话 Bean 组件被创建后,Bean 类可以通过@PostConstruct 注册一(A) 个回调方法。
(B) 为 EJB 组件指定依赖的资源可以使用@Resource 注释来实现。
(C)(D) 以上说法均不正确。
(E) EJB3.0 规范引入了依赖注入来用于引用资源和 EJB 相关对象。
[参考答案:ABE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分14. 下列关于 CallableStatement 对象的说法哪些是正确的? (A) CallableStatement 对象用于执行对数据库所有的调用。
(B) CallableStatement 对象用于执行对数据库已存储过程的调用。
在数据库调用过程中,可以通过设置 IN 参数向调用的存储过程提供执行所需的(C) 参数。
(D) 在存储过程的调用中,通过 OUT 参数获取存储过程的执行结果。
CallableStatement 对象中,有一个通用的成员方法 call,这个方法用于以名 (E) 称的方式调用数据库中的存储过程。
[参考答案:BCDE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分15. 下列关于 HTTP 协议说法正确的是 (A) HTTP 是一种请求/响应式的协议。
(B) HTTP 请求消息中 Host 表示初始 URL 中的主机和端口。
(C) HTTP 请求消息中 Accept-Language 表示浏览器所希望的语言种类。
HTTP 请求消息中 Accept-Encoding 表示浏览器能够进行解码的数据编码方 (D) 式。
(E) HTTP 请求消息中 Accept 表示浏览器可接受的 MIME 类型。
[参考答案:ABCDE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分16. B 组件有几种不同的类型_______ (A) 会话 Bean(B) 企业 Bean(C) 实体 Bean(D) Java Bean(E) 消息驱动 Bean[参考答案:ACE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分17. 关于 ResultSetMetaData 类的方法有哪些? (A) int getColumnCount() throws SQLException(B) int getColumnDisplaySize() throws SQLException(C) String getColumnTypeName(int column) throws SQLException(D) String getColumnName(int column) throws SQLException(E) 以上说法都不对[参考答案:ABCD] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分18. 下面的描述正确的是 (A) Statement 继承自 PreparedStatement (B) 以上说法均不正确。
(C) ResultSet 继承自 Statement(D) CallableStatement 继承自 PreparedStatement(E) PreparedStatement 继承自 Statement[参考答案:DE] 分值:50得分:分系统自动批改于 2018 年 7 月 2 日 17 点 52 分19. 下面关于 pageContext 对象说法中正确的是 (A) getRequest()方法返回当前的 request 对象(B) pageContext 对象创建和初始化都是由容器来完成的(C) pageContext 对象为 JSP 页面包装页面的上下文。