J2EE初学者要理解的几个问题

合集下载

J2EE入门

J2EE入门

1基本概念的了解<1>应用服务器:什么是应用服务器?-提供的的服务总称为中间件-英文名称为Application Server-你可以购买应用服务器,而获得这些中间件服务,而不需要自己开发这些服务-如Tomcat/weblogic等等<2>EJB容器:用于管理JavaBean或者EJB,管理EJB的容器由应用服务器提供,管理JavaBean的轻量级容器的代表:Spring<3>EJB组件:什么是EJB?Enterprise JavaBeans , EJB是企业级组件体系结构,使组件和应用服务器之间达成统一,让组件可以在任何应用服务器中运行。

简化了开发企业级分布式用程序的过程。

使用EJB的优点?通过使用EJB,可以编写可扩展,可靠,并且安全的应用程序,而不用编写你自己的复杂的分布式组件框架。

EJB和JA V ABEAN的区别?Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。

但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。

Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。

Enterprise Java Bean 相当于DCOM,即分布式组件。

它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。

但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。

EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。

客户通过容器来访问真正的EJB组件。

<4> 应用服务器/容器/EJB之间的关系?应用服务器/容器/JavaBean之间的关系?在三层结构的系统中,EJB容器和轻量级容器之间的关系1 应用服务器/EJB容器/EJB之间的关系:2 应用服务器/Spring/JavaBean之间的关系。

每个Java初学者都应该搞懂的六个问题

每个Java初学者都应该搞懂的六个问题

每个Java初学者都应该搞懂的六个问题每个Java初学者都应该搞懂的六个问题对于这个系列里的问题,每个学Java的人都应该搞懂。

当然,如果只是学Java玩玩就无所谓了。

如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。

内容均来自于CSDN的经典老贴。

问题一:我声明了什么!String s = "Hello world!";许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。

这样模糊的回答通常是概念不清的根源。

如果要准确的回答,一半的人大概会回答错误。

这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hello world!"这个String类型的对象。

这就是真正发生的事情。

我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的引用变量。

所以,如果在刚才那句语句后面,如果再运行一句:String string = s;我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。

问题二:"=="和equals方法究竟有什么区别?==操作符专门用来比较变量的值是否相等。

比较好理解的一点是:int a=10;int b=10;则a==b将是true。

但不好理解的地方是:String a=new String("foo");String b=new String("foo");则a==b将返回false。

根据前一帖说过,对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。

a和b都使用了new操作符,意味着将在内存中产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。

J2EE基础知识积累

J2EE基础知识积累

J2EE基础知识积累1. ⾯向对象的思维:1. 有哪些类那些对象2. 这些类中,每种类应该具有某种属性和⽅法3. 考虑类与类之间应该具有什么样的关系3.1. 成员变量可以使⽤java语⾔中的任何⼀种数据类型(包括基本类型和引⽤类型)2. 在定义成员变量时可以使其初始化,如果不对其初始化,java使⽤默认的值对其初始化3. 成员变量的租⽤范围为整个类型4. 如何在内存中区分类和对象1. 类是静态的概念,代码区2. 对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)⽽⽅法只有⼀份,执⾏的时候才占⽤内存eg:String s// 声明⼀个String类型的引⽤变量,但并没有使他指向⼀个对象s=new String("Hello world")// 使⽤new语句创建⼀个String类型的对象并⽤s指向他,以后可以通过s完成对其的操作5. ⽅法调⽤时值传递6. ⽅法⼀旦执⾏完毕,为这个⽅法所分配的局部变量的内存(栈内存⽴刻消失,堆内存可能不是马上消失,等垃圾回收齐回收之后就消失)⾃动消失7. 基础类型的变量就⼀块内存在栈内存中,引⽤类型的变量两块内存(堆内存和栈内存)8. 重载指的是⽅法名相同,参数不同,参数不同包括参数个数和参数的类型不同9. 同⼀类的每个对象有不同的成员变量存储空间同⼀类的每个对象共享该类的⽅法:⾮静态⽅法是针对每个对象进⾏调⽤的。

10. this关键字:1. 在类的⽅法定义中使⽤的this关键字代表使⽤该⽅法的对象的引⽤.2. 当必须指出当前使⽤⽅法的对象是谁要使⽤this.3. 有时使⽤this可以处理⽅法中成员变量和参数重名的情况4. this可以看做是⼀个变量,他的值是当前对象的引⽤.11. static 关键字:1. 在类中,⽤static声明的成员变量为静态成员变量,他为该类的公⽤变量,在第⼀次使⽤时被初始化,对该类的所有对象来说,static成员变量只有⼀份.2. ⽤static声明的⽅法为静态⽅法,在调⽤该⽅法时,不会将对象的引⽤传递给他,所以static⽅法中不可以访问⾮static的成员.2) 静态⽅法不再是针对于某个对象的调⽤,所以不能访问⾮静态成员。

Java新手必要6个知识点,天津java培训

Java新手必要6个知识点,天津java培训

Java新手必要6个知识点,天津java培训经常会有同学问到有关java编程的知识点,哪些是要点啊?哪些要牢牢掌握啊?诚筑说小编帮你们整理了一下和大家一起分享。

JVM相关JVM作为java运行的基础来说,掌握透析JVM是佐证java开发能力水平的一个点。

在有关JVM的知识里面我们需要掌握:内存模型和机构GC的原理,性能调优,二进制字节码结构,class加载的过程、实例创建的总过程以及java各大版本的新特性也是需要了解和掌握学习的。

JAVA运行这是作为一个java开发人员来讲ZUIZUIZUI基本的知识内容。

要如何在命令行中执行java程序,还有编译,命令使用,在命令中启动java以及涉及到的各个路径。

数据类型相信大家学习java也都知道其中的基本类型和对象类型需要着重掌握,也可以深入了解一些JDK是如何自动转换。

基本类型一般包含:int,long,double等,对应的对象类型有Integer 等类型到基本类型的转换对象的创建这个也是一个合格的java需要掌握的如何创建对象。

一般包含四个方式:new运算的方式创建对象,通过反射的方式创建对象,通过对象反序列化的方式来创建,通过clone的方式创建。

访问控制Java中提供三个显示的和一个默认的访问控制符,分别代表了4个不同的访问级别,由大到小。

Private(当前类访问权限)、default(包访问权限)、protected(子类访问权限)、public (公共访问权限)面向对象这是java里比较核心的一个,对于任何一位java工作者都要掌握熟练。

主要的知识点包含面向对象三大特性:封装、继承、多态,其中各自的概念和使用继承。

以上是诚筑说小编整理的一些知识要点,希望能够对大家有所帮助。

有不同的意见也欢迎大家一起沟通交流。

j2ee的面试题

j2ee的面试题

j2ee的面试题一、简介J2EE是Java 2 Platform, Enterprise Edition的缩写,是一种用于开发企业级应用程序的Java平台。

在J2EE的面试中,通常会涉及到与J2EE相关的技术、框架和概念的问题。

本文将针对J2EE的面试题进行分析和解答。

二、常见面试题与解答1. J2EE的组件模型有哪些?J2EE的组件模型包括Enterprise JavaBeans (EJB)、JavaServer Pages (JSP)、Servlets、JavaServer Faces (JSF)等。

这些组件模型用于构建分布式、可扩展和可重用的企业级应用程序。

2. 请介绍一下EJB的生命周期。

EJB的生命周期包括四个阶段:实例化(Instantiation)、使用(Passivation)、活动(Activation)和移除(Removal)。

在实例化阶段,容器会根据客户端请求创建EJB实例;在使用阶段,EJB实例处理客户端的请求;在活动阶段,EJB实例被重新激活以处理更多的请求;在移除阶段,EJB实例被销毁。

3. 什么是JNDI?在J2EE中有什么作用?JNDI(Java Naming and Directory Interface)是Java命名和目录接口,用于在分布式系统中查找和访问命名和目录服务。

在J2EE中,JNDI用于查找资源(例如数据库连接),使得应用程序可以在运行时动态地获取所需的资源,而不需要硬编码相关配置信息。

4. 什么是Java EE容器?它的作用是什么?Java EE容器是一种运行Java EE组件的环境,提供了对组件的生命周期管理、并发控制、事务管理、安全性管理、资源管理等功能。

它的作用是将Java EE组件与底层平台解耦,提供了一致的运行环境,简化了开发和部署过程。

5. 请介绍一下Servlet的生命周期。

Servlet的生命周期包括三个阶段:初始化(Initialization)、服务(Service)和销毁(Destroy)。

J2ee基础面试题

J2ee基础面试题

J2ee基础面试题一.名词解释1. web容器2. EJB容器3. JNDI4. JMS5. JTA6. JAF7. RMI/IIOP8. J2EE9. Jdo10. WEB SERVICE11. JAXP12. JAXM13. WSDL14. SOAP15. UDDI二.简答题1. 应用服务器有那些?2. J2EE是技术还是平台还是框架?3. 如何给weblogic指定大小的内存?4. 如何设定的weblogic的热启动模式(开发模式)与产品发布模式?5. 如何启动时不需输入用户名与密码?6. 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?7. 在weblogic中发布ejb需涉及到哪些配置文件8. 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置9. 如何查看在weblogic中已经发布的EJB?10. CORBA是什么?用途是什么?11. 说说在weblogic中开发消息Bean时的persistent与non-persisten的差别12. 开发中都用到了那些设计模式?用在什么场合?13. 应用服务器与WEB SERVER的区别?三.问答题1. XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?2. 说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入 http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?3. 说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法4. j2ee常用的设计模式?说明工厂模式。

5. BS与CS的联系与区别。

第一章J2EE全部要学知识整理

第一章J2EE全部要学知识整理

1、传统应用程序模型(二)
➢客户/服务器结构:“胖”客户端
胖客户端: 表示逻辑 业务逻辑
业务数据模型 通讯
Fat client
Fat client
用户界面和程序逻辑绑在一起,代码难以重用
服务器的数据库必须同每一个活动的客户保持连接,消耗大量的运算 资源,随着客户数目的增加性能不断下降,且存在死锁及崩溃的可能
一、J2EE的由来
1、传统应用程序模型 2、Web应用程序模型 3、为什么需要J2EE √
3、为什么需要J2EE
在企业级应用开发中所面临的而且必须解决的问题:
分布式 可移植 旧系统集成支持 面向Web 可装配 满足企业计算要求
一致性 事务性 安全性 要有好的特性 可伸缩 可扩展 易维护
•数据访问逻辑 •EJB


一、J2EE的由来 二、J2EE概念 三、J2EE编程思想 四、J2EE技术框架√ 五、优势
J2EE技术架构
J2EE架构:
3、J2EE架构及核心技术简介
J2EE核心技术:13种
EJB、 CORBA、 RMI、JSP、 Java Servlet、JavaBean、JDBC XML、JMS……
➢传统的Web应用程序模型:三层分布式架构
2、 Web应用程序模型(一)
➢传统的Web应用程序模型:三层分布式架构
WWW浏览方式带来的变化:
“Browser-based” 的客户端与“Internetworking” 计算方式向服务器端的集中转化
客户端:业务数据模型与UI分开,更“瘦” 业务逻辑在中间层,通过:连接池,多线程可以处理多客户端
JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代码 所组成。服务器在页面被客户端所请求以后对这些Java代码进 行处理,然后将生成的HTML页面返回给客户端的浏览器。

J2EE简答题

J2EE简答题

2、JSP的常用指令3、说出Servlet的生命周期,并说出Servlet和CGI的区别。

4、什么情况下调用doGet()和doPost()?5、forward 和redirect的区别6、JSP中动态INCLUDE与静态INCLUDE的区别?7、页面间对象传递的方法8、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?9、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串(GET 请求)?10、JSP有哪些动作?作用分别是什么?11、在JSP中下面的两种跳转方式有什么区别?(1)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

(2)request表示HttpServletRequest对象。

它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

(3)response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)(4)session表示一个请求的javax.servlet.http.HttpSession对象。

Session可以存贮用户的状态信息(5)applicaton 表示一个javax.servle.ServletContext对象。

这有助于查找有关servlet引擎和servlet环境的信息(6)page表示从该页面产生的一个servlet实例(7)pageContext表示一个javax.servlet.jsp.PageContext对象。

它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

(8)config表示一个javax.servlet.ServletConfig对象。

J2EE基础知识点复习1

J2EE基础知识点复习1

JavaEE1.Java EE 平台概述(重要)Java EE(Java Platform,Enterprise Edition)是sun公司推出的企业级应用程序版本。

这个版本以前称为J2EE。

能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。

Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。

2.使用分布式的多层应用模型构件,多层分哪些层?J2EE可以分为4层:1、运行在客户端机器上的客户端组件2、运行在J2EE服务器上的Web层组件.3、运行在j2EE服务器上的业务逻辑层组件.4、运行在EIS服务器上的企业信息系统层软件.一般,J2EE应用程序被认为是三层体系结构的,因为它们主要分布在三个地方. 客户端,服务器端,数据库或者是后台的遗留层.3.Java EE应用由各种各不同组件构成,都有哪些组件网上答案:J2EE的规范定义了下面的一些组件:1、客户端程序和applets是运行在客户端的组件.2、java servlet 和jsp技术是运行在服务器端的服务器组件.3、EJB技术是运行在服务器端的商务逻辑组件.PPT答案:1、J2EE ClientsWeb Client;Applets;Application Client;JavaBean组件(the Javabean Component Architecture );2、Web ComponentServlet;Web page(JSP)3、business ComponentEJB(会话bean 实体bean 消息驱动bean);java ee组件和标准类的区别java EE 的组件与其他标准Java类的区别在于,Java EE组件将装配至一个Java EE应用中并通过验证,以确保其满足Java EE规范要求,从而可以部署至生产环境中。

J2EE三大框架面试的常见问题

J2EE三大框架面试的常见问题

SSH优缺点1.strutsstruts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。

优点:Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。

使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。

Taglib是Struts的标记库,灵活动用,能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。

通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。

尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

另外,struts是业界"标准"(很多成功案例),学习资源丰富,HTML标签非常优秀缺点:Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。

Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。

ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成)Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。

使开发者能更深入的了解其内部实现机制。

Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易。

Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。

关于J2EE架构方面的面试题

关于J2EE架构方面的面试题

关于J2EE架构方面的面试题
1. 如何理解J2EE的系统架构
答:表现层,业务逻辑层,数据层。

优点:移植性,安全性,可用性,可扩展性。

缺点:系统和标准相当庞大和复杂,中小型企业用不到那么多的标准
2. 如何理解J2EE应用服务器的容器
答:j2ee的应用服务器:weblogic, webspere, jboss, jrun, resin, enhydra, tomcat等等
J2EE 应用服务器(Application Server)采用目前国际最先进的开发理念、拥有许多适合基于Web 的应用系统需求的特点:
1.三层结构体系最适合Internet环境,可以使系统有很强的可扩展性和可管理性。

2. 分布式环境可以保证系统的稳定性,同时拥有较高的性能。

3. 面向对象的模块化组件设计可以提高开发速度,降低开发成本。

4. 采用JAVA技术完全跨平台,适应Internet需要,并能得到大多数厂商支持,保护用户投资。

1。

《J2EE系统架构和程序设计》课程上课前的提问问题汇总

《J2EE系统架构和程序设计》课程上课前的提问问题汇总

《J2EE系统架构和程序设计》课程上课前的提问问题汇总1.1.19月4日第一周的“上课前的提问问题”1、Java技术主要包括哪几大部分?并解释J2EE的含义是什么?2、请描述三层架构模型中的各个层分别是什么?为什么要应用三层架构?3、请描述MVC的基本含义?为什么要应用MVC?4、请解释C/S 和B/S 的基本含义?1.1.29月8日第二周的“上课前的提问问题”1、请解释JSP的基本含义是什么?请描述JSP的基本工作原理?2、JSP中有哪些指令?在JSP的规范中为什么要提供JSP的动作标签?3、请解释下面的脚本的含义<%! <%=int X=1; 和X+5%> %>4、请解释下面的动作标签的含义是什么?<jsp:useBean /> 、<jsp:setProperty>和<jsp:include />5、请描述Get和Post请求的主要差别是什么?如何实现Post请求?1.1.39月18日第三周的“上课前的提问问题”1、什么是Servlet程序?Servlet为何具有高性能?2、JSP和Servlet 在应用上有什么不同?请描述Servlet的生命周期?3、请描述ServletContext对象的主要作用是什么?如何编程线程安全的Servlet程序?4、如何编程实现Servlet程序?doGet和doPost方法响应什么请求5、请描述什么是Web应用中的环境变量?环境变量与Servlet的初始化参数在应用方面有什么不同?1、什么是JavaBean组件技术?应该满足哪些方面的规范要求?2、什么是JavaBean组件程序中的属性?如果类中的某个成员变量名称为X,则应该为它提供什么属性访问方法?3、业务层组件开发中应该应该提供哪些类和接口?为什么要遵守“面向接口编程”?4、业务层中的各个业务服务组件类的设计和开发实现是应用系统的核心工作,但如何保证业务服务组件类之间的“高内聚、低藕合”的设计目标?请说明你的看法?1.1.510月27日第六周的“上课前的提问问题”1、什么是Web 过滤器组件技术?并描述Web过滤器的工作原理?2、如何编程实现Web 过滤器组件?并说明Web过滤器组件的主要功能应用由哪些?3、什么是Web监听技术?为什么要提供Web监听器?4、请说明实现ServletContextListener接口的主要应用目的?而实现HttpSessionListener接口的主要应用目的又是什么?1.1.611月3日第七周的“上课前的提问问题”1、请解释“EL”的含义是什么?为什么要提出“EL”?请解释${userName}的含义是什么?2、请解释“JSTL”的含义是什么?Sun公司为什么要提出“JSTL”?请解释<c:out value="${erName }" />的含义是什么?3、在项目中如何正确地应用JSTL?请解释下面的forEach标签能够完成什么方面的功能,其中的var和items的含义是什么?<c:forEach var="oneAccountInfoVO" items="${allAccountInfoVOArrayList}"></c:forEach>4、谈谈你对Apache Struts框架的认识(可以是任意方面的内容)?Apache为什么要抛弃经典的Struts框架而提出Struts2框架?1、请描述Struts2框架中的Action组件类的技术特性是什么?Action组件类的返回值的含义是什么?2、请说明Struts2 Action类可以采用什么实现形式编程实现?为什么要采用继承ActionSupport类的方式编程Action类?3、请描述如何改变Action类中默认的请求处理方法?为什么Struts 2框架中的Action 组件类是线程安全的?4、请解释什么是Field-Driven(字段驱动的)Action类和Model-Driven(模型驱动的)Action 类?1.1.811月17日第九周的“上课前的提问问题”1、什么是单元测试技术?为什么能够对Struts 2框架中的Action组件类进行单元测试?2、什么是Servlet API ?在Action组件类中如何访问Servlet API?3、请描述Struts 2框架中的拦截器组件技术?什么是拦截器组件链?4、为什么要应用拦截器?如何编程实现自定义的拦截器组件?1.1.911月24日第十周的“上课前的提问问题”1、什么是全局拦截器?什么是方法过滤的拦截器?2、什么是Web应用的国际化技术?Struts 2框架中的国际化资源文件的命名规则是什么?3、请描述什么是全局资源文件?包范围内的资源文件?Action范围内的资源文件?4、为什么要对Web 表单输入进行校验?在Struts2框架中如何实现对表单输入进行校验?1.1.1012月1日第十一周的“上课前的提问问题”1、Struts2校验框架提供了哪三种不同形式的验证实现?其校验配置的XML文件的命名规则是什么?2、请描述文件上传的基本原理?对实现文件上传的页面表单有什么要求?3、请描述什么是策略模式?请通过示例说明为什么要应用策略模式?4、请描述什么是工厂模式?请通过示例说明为什么要应用工厂模式?1.1.1112月8日第十二周的“上课前的提问问题”1、什么是OR Mapping 技术?为什么要应用Hibernate框架技术实现系统的持久层?2、什么应用场合下,应该使用Hibernate框架?请描述Hibernate 框架API中包含的一些主要的类3、请描述为什么Hibernate框架可以取代JDBC?其中的hibernate.cfg.xml文件的主要作用是什么?4、请描述利用Hibernate框架进行系统开发的基本步骤?其中的*.hbm.xml的主要作用是什么?1.1.1212月15日第十三周的“上课前的提问问题”1、请描述Hibernate框架中的实体类的三种状态是什么?各个状态的基本含义?2、请描述Hibernate框架中的Session的含义?如何获得Session对象?3、在Hibernate框架中为什么要提供Transaction接口?如何进行事件编程?4、Hibernate框架为什么要提出HQL?请说明From、Select和Where子句的基本功能是什么?1.1.1312月12日第十四周的“上课前的提问问题”1、请描述在Hibernate框架中是如何实现“一对一”的实体映射实现2、请描述在Hibernate框架中是如何实现“一对多”的实体映射实现3、什么是延迟加载?为什么要应用延迟加载?4、请描述Open Session in View模式?如何实现Open Session in View模式?。

J2EE 初学者需要理解的问题

J2EE 初学者需要理解的问题

一、J2EE提出的背景1、企业级应用框架的需求在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次再开发中都由开发人员来完成的话,将会造成开发周期长和代码可*性差等问题。

于是许多大公司开发了自己的通用模块服务。

这些服务性的软件系列统称为中间件。

2、为了通用必须要提出规范,不然无法达到通用在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。

从而产生瓶颈。

于是提出标准的概念。

其实J2EE就是基于JA V A技术的一系列标准。

注:中间件的解释中间件处在操作系统和更高一级应用程序之间。

他充当的功能是:将应用程序运风故故,也依依/jadmin曦勤个人博客《风故故,也依依》/jadmin 49行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力。

我们后面说到的容器的概念就是中间件的一种。

二、相关名词解释容器:充当中间件的角色WEB容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET 直接更容器中的环境变量接口交互,不必关注其它系统问题。

主要有WEB 服务器来实现。

例如:TOMCA T,WEBLOGIC,WEBSPHERE 等。

该容器提供的接口严格遵守J2EE 规范中的WEB APPLICA TION 标准。

我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。

EJB容器:Enterprise java bean 容器。

更具有行业领域特色。

他提供给运行在其中的组件EJB 各种管理功能。

只要满足J2EE 规范的EJB 放入该容器,马上就会被容器进行高效率的管理。

并且可以通过现成的接口来获得系统级别的服务。

例如邮件服务、事务管理。

WEB 容器和EJB 容器在原理上是大体相同的,更多的区别是被隔离的外界环境。

j2ee-学习心得

j2ee-学习心得

J2EE学习心得通过这个学期的学习,我对J2EE有一定的了解。

比较庆幸的是以前学过一些JA V A开发程序,所以听老师讲课不是很吃力。

以下是我这学期对J2EE的学习心得。

对您第一堂课的内容记忆犹新您给我们了J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition),Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。

J2EE是企业版本,J2EE的优势在于为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,保留现存的IT资产,高效的开发,支持异构环境,可伸缩性,稳定的可用性。

J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。

例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB (Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。

下面是J2EE体系结构图:J2EE 所需要的一些主要技术:1.EJB 技术Enterprise JavaBeans(EJB)是一个软件组件模型。

如今开发电于商务平台已大量使用组件技术.这是因为组件技术提供了服务器上的自治、企业级和分布式功能,并帮助开发者在不同颗粒度级别上定义和封装系统功能。

通过采纳组件技术、已建立旧系统的企业在与从一开始就围绕前沿组件体系结构设计的新公司竞争起来更容易。

J2EE基础知识点复习3.doc

J2EE基础知识点复习3.doc

JDBC1 •两种建立数据库连接的方式?1、DriverManager 机制(JDBC):API: java.sql 核心APIDriverManager机制的弊端:(1)是一个同步的类,一次只有一个线程可以运行(2)与数据库相关的连接信息都包含在类中,如果用户更换另一台计算机作数据库服务器,就需要重新修改URL变量、重新编译、部署;(3)用户的用户名、口令也包含在类中,丧失了安全性2^ DataSource 机制(JNDI):API: javax.sql 可扩展API连接方式:连接池2•事务:哪些种Java事务类型?事物:保证一系列数据库操作能够准确的完成,除非事务中的所有操作都成功,否则事务就不会完成事务的4 个特性(ACID): Atomicity (原子性)、Consistency (一致性)、Isolation (隔离性)、Durability (持久性)Java事物类型:(1)JDBC 事务:(2)JIA (Java Transaction API)事务(3)容器事务解释jdbc的数据源机制1 > DataSource 是JDBC Connection 对彖的一个工厂2、允许使用已经在JNDI命名服务中注册的DataSource对象建立连接,市驱动程序供应商实现3、连接池机制:(1)Application Server启动时,创建通向数据库资源的连接池。

连接池包含多个JDBC连接。

(2)当应用程序需要访问数据库时,从连接池中取得一个连接,使用该连接与数据库通信;一旦工作完成,关闭数据库连接,释放回连接池中。

(3)连接池与连接到数据库对比:连接到数据库:需要通信、内存、授权等來创建连接,代价昂贵;对于访问站点的每一个客户机都建立了一个新的连接,费用太髙连接池:重用连接,而非建立新连接;一组加载到内存中的数据库连接,以便重攵使用;允许共亭数据库连接,不是为每个客户分别提供单独的连接;借助连接池,对连接数量进行必要的定量限制,数据库才是最有效的。

j2ee中的几个问题

j2ee中的几个问题

(一)选择最好的分页方式:在持久层分页由于在持久层的数据会很大,一次性全部取得并显示,对于前端的表示层会有很大的压力,因此分页是任何项目都不可避免的。

分页的方式有许多中,从大类来分,分页分为逻辑枫叶和物理分页两种,而从小类来分,无论是逻辑分页还是物理分页都有许多种编码方式,他无法选择究竟哪一种才是当前项目的最佳实现。

a)逻辑分页的第一种方式以持久层的实现方式来说,分页总是应该存在于DAO中,因为分页也是对于一次数据库查询的操作。

对于熟悉JDBC的人,最容易想到的方式就是依靠java.sql.ResultSet标准的JDBC 驱动都支持ResultSet滚动分页方式。

这种分页方式的思路是:(1)根据条件查询数据库。

(2)得到ResultSet的结果集,由于ResultSet带有游标,因此可以使用其next()方法来指向下一条记录。

(3)利用next()方法,得到分页所需的结果集。

public static ArrayList pageList(int currentPage,int showRows){ Connection conn = DB.getConn();PreparedStatement pstmt = DB.prepare(conn, "select * fromt_message order by id");ResultSet rs = null;ArrayList resultList = new ArrayList();try{int currentNum = 0;rs = pstmt.executeQuery();int skipBegin = (currentPage -1) * showRows;int skipEnd = currentPage * showRows;while(rs.next()){if(currentNum >= skipBegin && currentNum < skipEnd){Message temp = new Message();temp.setId(rs.getInt("id"));temp.setContent(rs.getString("content"));temp.setIntime(rs.getDate("intime"));temp.setUid(rs.getInt("uid"));resultList.add(temp);if(currentNum == skipEnd-1){break;}}currentNum ++;}}catch (SQLException sqle){sqle.printStackTrace();}finally{if(rs != null){DB.close(rs);rs = null;}if(pstmt != null){DB.close(pstmt);pstmt = null;}if(conn != null){DB.close(conn);conn = null;}}return resultList;}b)逻辑分页的第二种方式前一种逻辑分页方式使用的是ResultSet,如果熟悉ResultSet API,一定想到可以利用更简便一些的方式来实现。

J2EE基础知识点复习2

J2EE基础知识点复习2

JSP1.JSP是文本文档,包括哪两种类型的文本?1、静态数据( Static data ):可以通过任何基于文本的语言来表达(如HTML, SVG, WML, XML);2、JSP元素( JSP elements ):构造动态语言2.JSP生命周期JSP页面以Servlet的形式提供请求服务,所以,JSP的生命周期和许多JSP功能都是由Servlet 技术决定的(特别是动态的方面)1、请求被映射到jsp页面2、服务器端为jsp页面查找已有的实现类,如果没有找到则创建新的jsp页面的实现类,然后把这个类载入JVM。

在实现类装在完成后,JVM将创建这个类的一个实例。

3、初始化:初始化JSP页面对象4、处理请求5、生命周期终止:服务器不再把客户端的请求发给JSP。

在所有的请求处理完之后会释放掉这个类的所有实例。

这种情况一般发生在服务器关闭的时候或者是服务器要保存资源,检测到有jsp文件更新等3.JSP元素都有哪些?1、指令元素<%@page ...%>;<%@include ...%>;<%@taglib ...%>;2、脚本元素<%...%>:脚本<%=…%>:表达式<%!...%>:声明3、行为元素jsp:[set|get] Property;jsp:[include|forward]jsp:plugin4.在JSP页面的翻译阶段,要去处理构建动态内容的JSP元素,是如何处理这些元素的?(指令、脚本、动作(include,forward)在翻译是如何处理?定制标签如何处理?)1、静态数据转化为代码,将排放到响应流中的数据。

2、JSP元素按以下方式进行处理(1)指令元素是用来控制Web容器转换和执行JSP页面;(2)脚本元素插入到JSP页面的servlet类;(3)表达式语言作为参数传递来调用JSP表达式解释器(4)jsp:[set|get]Property被转换成方法来调用JavaBeans组件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档