JavaEE重点
黑马程序员JavaEE基础班知识点整理

黑马程序员JavaEE基础班知识点整理天地玄黄,宇宙洪荒。
如果你也和我一样看过不少网络小说,那你的想象力肯定很丰富,这点作为程序员是很重要的。
如果你和我一样喜欢《黑客帝国》《银河系漫游指南》《钢铁侠》《三体》《西部世界》。
那有可能科幻就是你坚持钻研技术的动力来源。
虽然我们暂时不能像黑客帝国里一样进入虚拟世界,不能像邓肯一样到宇宙尽头餐馆吃饭,没有贾维斯的智能管家系统,也不能把机器人做的无法分辨真伪,但是如果没有人们对未来的想象我们的技术就没有了追求。
这些追求促使我们不断的学习,让技术不断的前进,我相信这些电影电视小说里的情节一定会实现。
抱有这样的期待和好奇很多同学来到黑马学习技术,首先接触的就是黑马的基础班。
视频课程,讲义是必须的,但是我们还要有知识的梳理。
今天我们就整理了基础班的一下问答和笔试题供大家交流学习。
希望大家梳理一下自己的基础知识,基础知识是我们技术飞船的主架,主架坚固才能让我们在宇宙里航行的更远~理论知识点一、基础概念1、面向对象的理解并举例2、面向对象的三大特性,并分别阐述对每个特性的理解3、阐述成员变量和局部变量的区别4、构造方法的概念和作用,和一般方法的区别5、静态代码块、构造代码块、构造方法的特点及执行顺序6、描述类和对象的关系7、创建对象的步骤等二、IO流理论知识点:1、io流的基本流都有哪些,简单说说基本流的体系2、字节流和字符流的使用场景3、拷贝文本文件一般会用到哪个流?为什么?4、在io流中拷贝文件一般会用哪几个流?5、在io流的拷贝过程中,通过while 循环读取字节进行拷贝,需要通过哪个流的什么方法读取字节6、File类的常用方法都有哪些?7、遍历指定目录下的文件的所有名称,一般用什么方法?8、在io流中一般常用的字符编码集都有哪些?简单阐述几种9、在字符流中,带缓冲区的包装流都有哪一些?具体阐述一下。
10、为什么read()方法返回值是int类型?11、标准输入流和输出流是什么?三、集合理论知识点1、集合的由来2、数组和集合的使用场景3、数组和集合的区别4、集合的遍历5、在迭代集合中元素时,可不可以通过集合对象的方法操作集合中的元素?6、 List的三个子类的特点7、栈和队列数据结构8、 List有三个儿子,在不同的场景分别应该使用谁呢?9、 HashSet保证元素唯一的原理10、 TreeSet两种排序方式11、 list集合和set集合有什么区别?12、双列集合获取键和值的两种方式13、 HashMap和Hashtable的区别14、 Collection和Collections的区别?四、反射理论知识点1、反射概述2、获取类的字节码文件三种方式五、线程理论知识点1、线程的生命周期。
javaee期末试题要点

1下列哪一项不是Java EE的常用技术(D)A、JSPB、HibernateC、SpringD、JNDB2、servlet与一般Java类的相同点是什么? ( D)A、B、Servlet是运行在Web服务器的一个Web组件C、Servlet通常是通过HTTP协议回复Web客户端的请求D、Servlet是运行在Web容器的Java类3、以下哪一个是市场上流行的Java EE服务器(A)A、ApacheB、tomcatC、glassfishD、netbeans4、EJB的作用是(C)A、Servlet组件和JSP组件B、用于丰富客户端图形界面显示C、通过RMI/IIOP协议与EJB容器通信远处电泳EJB的功能方法,进而完成业务处理。
D、GUI交互界面的开发,负责与系统用户的交互5、分析以下程序:public class x{public static void main( Stri ng[]args){String ol=new String("ABV");String o2=new String("ABV");if(o1 . equals(o2)){System, out. printin ("Equal");}}该程序的执行结果是(B )。
A.程序执行后无输出B.程序执行后输出“ Equal”C.程序在第5行出现编译错误D.程序执行后出现异常6、执行完下面的程序片段后,下面哪些结论是正确的?(B)int a,b,c;a=1;b=2;c=(a+b>3?a++:++b);A.a的值是2, b的值是3B.a的值是1, b的值是3C.a的值是1, b的值是2D.c的值是false6、Struts框架的控制器主要由(C )负责。
A.EJBB.JSPC.Actio nServletD.标记库7、S truts通过(A)支持MVC的视图开发。
JavaEE框架详解

JavaEE框架详解JavaEE(Java Enterprise Edition)是一种用于开发大型企业级应用程序的Java平台。
它提供了一整套标准化的API和开发工具,能够满足企业级应用开发的各种需求。
JavaEE框架是基于JavaEE平台的一种软件开发框架,它提供了一系列的组件和工具,可以帮助开发者更加高效、简便地开发和部署JavaEE应用。
本文将对JavaEE框架进行详细解析。
一、JavaEE框架概述JavaEE框架是构建JavaEE应用程序的基础设施。
它提供了一种基于组件的开发模式,开发者可以通过配置和组合不同的组件来构建应用程序。
JavaEE框架提供了一系列的标准化API、工具和解决方案,可以加速应用程序的开发过程。
JavaEE框架主要包括以下几个核心组件:1. Servlet容器:用于处理HTTP请求和响应,基于Servlet规范实现。
2. JSP容器:用于解析和执行JSP页面,基于JSP规范实现。
3. EJB容器:用于管理和执行企业级JavaBean,基于EJB规范实现。
4. JPA提供者:用于持久化Java对象到关系数据库,基于JPA规范实现。
二、常见的JavaEE框架1. Spring框架Spring框架是目前最流行的JavaEE框架之一。
它提供了一系列的模块,包括依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等,可以帮助开发者更加高效地开发JavaEE应用程序。
Spring框架具有良好的可扩展性和灵活性,可以与其他框架无缝集成,被广泛应用于企业级应用开发。
2. Hibernate框架Hibernate是一个强大的对象关系映射(ORM)框架,用于将Java对象映射到关系数据库中的表结构。
它简化了数据库操作的编码工作,提供了一套面向对象的API,可以方便地进行数据库的增删改查操作。
Hibernate框架具有良好的跨数据库兼容性,支持的数据库种类非常丰富,被广泛应用于JavaEE应用程序的数据持久化层。
9095402《JavaEE程序设计》课程标准.

“JavaEE程序设计”课程标准招生对象:高中毕业生及同等学力者教学时数:80H学历层次:高职课程代码:9095402修业年限:全日制三年学分数: 5.5适用专业:软件技术制订人:黎利红一、课程概述1.课程定位本课程是软件技术专业的一门专业核心课程。
通过市场调研和校企交流,发现当前企业应用开发的重要方向之一就是基于框架技术的开发应用,该课程正是顺应软件开发技术的发展趋势而开设。
本课程在完成《Java程序设计》、《数据库技术》、《JSP程序设计》等课程学习的基础上,作为软件技术最后一门核心专业课,在学生拥有良好的web程序设计能力、数据库的编程能力、中小型信息管理系统的分析、设计和实现能力、MVC模型的编程能力的基础上,旨在培养学生使用流行、成熟的框架技术,开发基于JavaEE框架的 Web 应用系统的职业能力。
2.设计思路(1)内容设计根据软件企业基于JavaEE框架Web开发人员(程序员、软件测试员、应用软件服务人员)的工作岗位和工作任务,提炼出使用 Struts 开发、测试、维护Web 应用系统的能力;使用 Hibernate 开发、测试、维护Web 应用系统的能力;使用 Spring 开发、测试、维护Web 应用系统的能力;使用 Spring、Struts、Hibernate 整合技术开发、测试、维护Web 应用系统的职业能力。
本课程对应的职业能力为:“能够运用 Struts、Hibernate、Spring框架开发项目,能够使用工具管理项目代码”。
根据职业能力归纳出行动领域,并将行动领域转化为学习领域。
最终构建成以职业能力为导向的课程体系,而本课程位于整个课程体系的顶端,其所涉及的技术是学生就业前必须学习和掌握的关键技术。
(2)教学设计课程教学全程在软件工作室中进行,以5~10人为单位成立软件项目组,以软件项目开发的工作过程为导向,采用“项目导向、任务驱动”的教学方法,运用多媒体教学、项目式教学等多种教学手段,让学生在“做中学,学中做”,激发学生的学习兴趣,培养学生的职业能力,提高学生的职业素养。
第1章 JavaEE基础

授权(Authorization)
资源:网页、Servlets、JSPs、EJBs等。
3、 Security
安全性控制
声明的方式
由容器控制 声明一些安全性角色,并把角色映射到实际的安全域中
Security-Role:逻辑的用户组,如经理角色、职员角色 Security-Domain:安全控制实际应用的领域,如操作系统域、实际的应用域(xx公 司) 规则1:“经理”角色可以执行“员工管理”Bean的“辞退员工”方法 规则2: “所有人(未经过身份认证)”可以访问商品信息页面
Java程序 一般具有图形用户界面。 可以直接访问JavaEE中间层的所有服务。
可以直接调用EJB提供的服务。 基于浏览器的客户端只能直接访问Web构件的服务。
2、 EJB
Enterprise Java Beans
Entity Beans
Session Beans
Message Driven Beans
Java Standard Edition
Java Card
Java Micro Edition
Java Platform HotSpot
Memory:
Classic VM
10MB< ----------------------------------------- >1MB
64bit
KVM
500KB<----------------->10KB
1、JNDI
JNDI屏蔽了不同目录服务之间的差异。JNDI service API是和具体的目录服务无关的。这使得 我们利用JNDI开发的应用可以不用修改代码而应 用到不同的目录服务上。
JAVAEEWEB高级编程期末考试复习资料

JAVAEEWEB⾼级编程期末考试复习资料(⼀)1.简述Servlet⼯作原理。
Servlet⼯作原理:Servlet运⾏在Web服务器上的Web容器⾥。
Web容器负责管理Servlet。
它装⼊并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。
Web容器在Servlet的使⽤期限结束时终结该Servlet。
服务器关闭时,Web容器会从内存中卸载和除去Servlet。
2.Servlet与Applet的异同.相似之处:(1)它们不是独⽴的应⽤程序,没有main()⽅法。
(2)它们不是由⽤户调⽤,⽽是由另外⼀个应⽤程序(容器)调⽤。
(3)它们都有⼀个⽣存周期,包含init()和destroy()⽅法。
不同之处:(1)Applet运⾏在客户端,具有丰富的图形界⾯。
(2)Servlet运⾏在服务器端,没有图形界⾯。
3.EJB怎样和容器交互,其组件有哪⼏种类型?n EJB通过以下三种机制与容器交互①回调⽅法:回调⽅法是EJB组件实现的,通过部署标记或在部署⽂件中声明的特定⽅法,当容器要执⾏创建EJB实例,结束事务等操作时,它将调⽤这些⽅法来通知该EJB 组件。
②EJBContext:每个EJB都会得到⼀个EJBContext对象,它是对容器的直接引⽤,通过它可以获取环境信息。
③Java命名和⽬录接⼝(JNDI):这是java平台的标准扩展,⽤于访问命名系统,如LDAP、NetWare、⽂件系统等。
n EJB组件可分为三种主要类型:①会话Bean:代表检索或存储数据以满⾜⽤户请求这样的操作;②实体Bean:代表⼀种数据集,可以访问这些数据集来满⾜⽤户请求;③消息驱动Bean:相当于⼀个实现了某些业务逻辑的异步消息接收者。
4.什么是JDBC技术?①JDBC是⼀组API,定义了⽤来访问数据源的标准Java类库,使⽤这个类库可以以⼀种标准的⽅法、⽅便地访问数据库资源。
JavaEE的十三个技术规范

JavaEE的⼗三个技术规范Java 是⼀种⾮常棒的语⾔,健壮,跨平台运⾏,屏蔽了具体的平台环境的要求,也就是说只要⽀持java 虚拟机,就可以运⾏java程序。
下⾯,我们⼀起学习⼀下J2EE的⼗三种技术规范。
⼀、JDBC:Java Data Base Connectivity,数据库连接 ⼤家对微软的ODBC数据库访问的接⼝⽐较熟悉,⽽在java中创建数据库连接使⽤的是JDBC,学习过程中,JDBC和ODBC很相似,甚⾄JDBC⽐ODBC更好⽤,这是因为JDBC是在ODBC的基础上开发的,集成的ODBC的很多优点,同时他也是独⽴平台的。
⼆、JNDI:Java Naming and Directory Interfaces,Java的命名和⽬录接⼝ JNDI是⼀个Java应⽤程序设计接⼝,它为我们提供了查找和访问各种命名和⽬录服务的通⽤、统⼀⽅式。
JNDI避免了程序与数据库之间的紧耦合,使应⽤更加易于配置,便于部署。
有了JNDI,我们就不要关⼼“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL 格式是什么?访问数据库的⽤户名和密码是什么?”这些问题了。
我们编写的程序不⽤关⼼对JDBC驱动的引⽤。
我们只需要在J2EE容器中定义⼀个数据源,然后通过这个数据源访问后台数据库。
参考:/zhaosg198312/article/details/3979435三、EJB:Enterprise Java Beans,企业级Java Beans、EJB是实现分布式业务逻辑的Java组件。
它以⼀个标准⾃动处理了如数据持久化、事务集成、安全对策等问题,为后台业务提供了⼀个标准⽅式。
EJB规范讨论了四中对象类型:⽆状态会话bean、有状态会话bean、实体bean、消息驱动bean。
Stateless Session Beans是⼀类不包含状态信息的分布式对象,允许来⾃多个客户端的并发访问。
⽆状态回话Bean没有资源集约性,访问的实例变量内容页不会被保存。
java复习期末重点考点总结

java复习期末重点考点总结一、基本语法1. 变量和常量定义变量和常量,变量的作用域,变量类型转换等。
2. 数据类型Java的基本数据类型,如整型、浮点型、字符型、布尔型等。
3. 运算符Java的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。
4. 控制结构条件语句,如if语句、switch语句。
循环语句,如for循环、while循环、do-while循环。
5. 数组一维数组、多维数组的定义和使用。
6. 方法定义方法,方法的重载、调用以及参数传递。
7. 异常处理Java的异常处理机制,如try-catch-finally语句块。
常见的异常类及其使用。
二、面向对象1. 类和对象类和对象的定义,成员变量和成员方法的访问权限。
2. 构造方法和析构方法构造方法和析构方法的定义和使用。
3. 继承子类和父类的关系,继承的实现和使用。
方法重写和父类引用子类对象的特点。
4. 接口接口的定义和实现,接口的多继承。
多态的概念和实现,向上转型和向下转型。
6. 包包的定义和使用,包的导入和导出。
三、输入输出1. 文件操作文件的读取和写入,字符流和字节流的使用。
2. 序列化和反序列化对象的序列化和反序列化,使用序列化实现对象的存储和传输。
四、集合框架1. 集合接口和类常用集合接口和类的介绍和使用,如List、Set、Map等。
2. 迭代器集合的迭代器,实现对集合元素的遍历和操作。
3. 泛型泛型的概念和使用,泛型类和泛型方法。
4. 排序和比较使用集合框架实现元素的排序和比较。
五、线程1. 线程的创建和启动线程的创建方式,使用Thread类和Runnable接口。
2. 线程同步线程同步的方法,如使用synchronized关键字实现线程同步。
3. 线程通信线程之间的通信方式,如使用wait()、notify()、notifyAll()方法进行线程通信。
线程池的定义和使用,使用线程池实现线程的复用。
六、网络编程1. 套接字套接字的概念和使用,使用套接字实现网络通信。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JavaEE》重点第一章经典JavaEE应用和开发环境1.经典JavaEE应用的分层:Domain Object(领域对象)层、DAO(Data Access Object,数据访问对象)层、业务逻辑层、控制器层、表现层。
2.经典JavaEE应用的组件:控制器组件、业务逻辑组件、EAO组件、Entity组件、表现层组件。
3.常用的企业服务器:GlassFish、WebSphere、WebLogic、Jboss。
4.经典JavaEE应用相关技术:JSP、Servlet、JavaBean及替代技术。
第二章JSF的基本用法5.经典JavaEE应用的分层:Domain Object(领域对象)层、DAO(Data Access Object,数据访问对象)层、业务逻辑层、控制器层、表现层。
6.经典JavaEE应用的组件:控制器组件、业务逻辑组件、EAO组件、Entity组件、表现层组件。
7.常用的企业服务器:GlassFish、WebSphere、WebLogic、Jboss。
8.经典JavaEE应用相关技术:JSP、Servlet、JavaBean及替代技术。
9.Model2模式下,模型(Model)由JavaBean充当,视图(View)由JSP页面充当,而控制器(Controller)则由Servlet充当。
10.配置JSF核心控制器:<servlet>配置JSF核心的映射:<servlet-name>...</servlet-name><servlet-mapping><servlet-calss>...</servlet-calss><servlet-name>...</servlet-name><load-on-startup>...</load-on-startup><url-pattern>...</url-pattern></servlet></servlet-mapping>11.//设置托管Bean的属性<managed-bean-name>...</managed-bean-name>//名字<managed-bean-calss>...</managed-bean-calss>//实现类<managed-bean-scope>...</managed-bean-scope>//有效范围12.//UI组件本身绑定到Bean属性<h:inputText binding=”#{bookBean.price}”/>13.托管Bean的方法:处理导航的方法。
处理Action事件的方法。
处理Value Change事件的方法。
处理输入校验的方法。
14.托管Bean的三个有效范围:request、session、application。
15.FaceContext接口的方法:a)getResponse():获取应用原生的响应对象。
b)getSession(bolean create):获取应用原生的session对象。
16.静态导航需完成:将commandButton或commandLink标签的action属性指定为一个静态字符串。
在JSF配置文件中配置导航规则。
动态导航需完成:将commandButton或commandLink标签的action属性绑定到某个托管Bean的处理方法。
在JSF配置文件中配置导航规则。
17.JSF应用的6个生命周期:(请求)→恢复视图→应用请求值→处理输入校验→更新模型的值→调用应用→生成响应→(响应)18.JSF支持4种级别的消息:一般消息(info)、警告消息(warning)、错误消息(error)、致命消息(fatal)。
第三章深入使用JSF19.JSF事件模型:事件源、事件对象、事件监听器。
20.JSF内置支持事件对象:Action事件、值改变事件、数据模型事件、生命周期事件(phase)。
21.JSF的国际化支持:静态内容国际化、错误消息国际化、动态数据国际化。
22.JSF允许的国际化资源文件:使用*.properties国际化资源文件。
使用*.class类文件作为国际化资源文件。
23.JSF加载国际化资源文件的方式:在faces-config.xml文件的<application.../>元素中用<resource-bundle.../>子元素注册 在JSF页面中使用<f:loadBundle.../>标签来加载国际化资源文件。
24.使用转换器完成类型转换,DateTime Converter、NumberConverter两个转换器可能需要重复调用,标签:<f:converDateTime.../>、<f:converNumber.../>。
转换失败后的错误信息,标签:<h:message.../>、<h:messages.../>。
25.在应用中创建并使用自定义转换器,需完成:实现自己的转换器类。
在faces-config.xml文件中注册类型转换器。
在JSF页面中通过组件的converter属性或者内嵌<f:converter.../>标签来使用类型转换器。
实现该接口还需要实现如下方法:getAsObject(...):该方法实现从字符串类型到目标类型的转换。
getAsString(...):该方法实现目标类型到字符串类型的转换。
26.注册转换器方式:类型注册:使用<converter-for-class.../>来完成注册。
名称注册:使用<converter-id.../>为转换器指定名称。
27.JSF允许通过3种方式在JSF页面上进行输入校验:通过专用标签引用指定输入校验器。
通过UI组件的validator属性引用托管Bean的校验方法进行校验。
通过<f:validator.../>标签的validator属性引用一个已注册的输入校验器进行校验。
28.开发自定义校验器:JSF提供另一个javax.faces.validator.Validator接口,JSF校验器都应该实现该接口,实现该接口必须实现该接口内定义的如下方法:Validate(FacesContext context,UIComponent component,ng.Object value):重写该接口进行输入校验。
当输入校验失败时,抛出ValidatorException异常。
方法中的形参:a.context:当前的FacesContext对象。
ponent:正被该校验器执行校验的UI组件。
c.value:正在被校验的UI组件的本地值。
29.注册校验器:在faces-config.xml文件中使用<validator.../>元素即可注册自定义校验器。
<validator.../>元素内必须指定如下两个子元素:<validator-id.../>、<validator-class.../>。
第四章利用JDBC和JTA访问数据库和管理全局事务30.事务处理一般分为局部事务和分布式事务。
31.事务的基本特性(ACID性):原子性、一致性、隔离性、持续性。
32.事务属性支持如下6个值:Required、RequiresNew、Mandatory、NotSupported、Supports、Never。
33.EJB的事务管理:容器事务管理(CMT),Bean事务管理(BMT)。
第五章JNDI和远程方法调用34.JNDI的全称是Java Naming Directory Interface,即Java命名目录接口。
JNDI包含了一些标准API接口,Java程序则可以通过这些JNDI接口来访问命名目录服务。
35.JNDI编程步骤:1)创建Context对象。
2)调用Context的lookup方法根据JNDI名称查找被绑定对象。
3)关闭Context。
由于Context只是一个接口,因此通常会使用它的实现类InitialContext来创建实例。
获取InitialContext对象之后,通过它执行JNDI相关操作:(1)查找对象。
(2)绑定。
(3)重新绑定。
36.RMI指的是Remote Method Invoke,远程方法调用。
37.开发RMI服务器:1)开发RMI远程服务接口。
2)为RMI远程服务接口编写实现类。
3)编写运行程序的main()方法。
4)运行远程服务程序之前,使用rmiregistry注册RMI远程服务端口。
38.开发RMI客户端:1)通过JNDI查找提供远程RMI服务的对象,并对其执行强制类型转换。
2)调用远程方法。
39.RMI底层的实现过程:1)本地客户端调用远程服务对象(Stub对象)的方法。
2)Stub对象其实就是远程服务对象在客户端的代理。
Stub对象会对调用请求进行编码,保证远程调用请求可以在网络上传输。
要求所有参数可序列化。
3)通过底层网络传输将请求传递到Skeleton。
4)Skeleton收到Stub通过网路传输过来的调用请求后,Skeleton对请求进行解码,将请求转换为满足远程服务对象要求的请求。
5)Skeleton将解码后的请求发送到远程服务对象,让远程服务对象来负责处理调用请求。
6)Skeleton收到远程服务对象的执行结果(即返回值)后,再次对执行结果进行编码。
要求RMI中的方法返回值都是可序列化。
7)通过底层网络传输将处理结果送到Stub。
8)Stub解码处理结果。
9)Stub将解码后的符合本地客户端要求的结果送给本地客户端。
10)本地客户端收到执行结果。
40.提供服务端程序、客户端程序后,按如下步骤编译。
1)编译客户端接口Client,生成Client.class。
2)将客户端接口的Client.class文件复制到服务器端。
3)编译服务器端接口Server,生成Server.class。
4)编译服务器端远程服务实现类ServerImpl,生成ServerImpl.class。
5)将服务器端远程接口Client.class复制到客户端。
6)编译客户端实现类RMIClient,生成RMIClient.class。
7)在客户端用rmic编译RMIClient类(运行rmic RMIClient即可),生成RMIClient_Stub.class,并将该class文件复制到服务器端。