javaEE简答题整理
1、 什么是JavaEE?其编程思想是什么?
JavaEE是一个标准的中间件体系结构,是企业分布式应用开发标准。JavaEE的编程思想是组件—容器。
2、 为什么提出JavaEE体系结构?
(1)为满足开发多层体系结构的企业级应用的需求,提出了JavaEE:分布式,可移植,旧系统集成支持,面向Web,满足企业计算要求(一致性、事务性、安全性),要有好的特性(可伸缩、可扩展、易维护)。
(2)JavaEE提供了一套完整的解决所有这些问题的框架方案:提供了分布式、可移植组件的框架,为组件与应用服务器提供标准API,简化了服务器端中间层组件的设计
3、 简述JavaEE体系包含的主要技术。
组件技术(客户端组件、Web组件、业务组件)、服务技术、通信技术
4、 JavaEE应用有哪些优点?
独立于硬件配置和操作系统;坚持面向对象的设计原则;灵活性、可移植性和互操作性;轻松的企业信息系统集成
5、 Java Servlet和JSP的比较。
相似:两者都是基于Java的技术,所以都继承了Java的所有特性(跨平台、多线程、OO ),都可以使用Java强大的API;
两者工作方式相似:JSP代码先被JSP容器转换为Servlet代码再编译为类;
两者在JavaEE体系结构中的工作层次相同,都负责与客户端的连接。
不同:编程方式不同。Servlets是一些运行于Web服务器端的Java小程序;而JSP是脚本,编写起来更简单容易;
应用目的不同。Servlet主要用于从客户端接收请求信息,而JSP主要负责将服务器端信息传送到客户端;使用JSP的真正意义在于:可以将界面设计和业务逻辑设计分离。
6、 什么是Servlet?它与Applet之间有何异同?
Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。
相同之处:他们都不是独立的应用程序,没有main()方法;他们都不是由用户调用,而是由另外一个应用程序调用;他们都有一个生存周期,包含init()和destroy()方法。
不同之处:Applet运行在客户端,具有丰富的图形界面;Servlet运行在服务器端,没有图形界面。
7、 简述Servlet的工作流程。
(1)客户机将请求发送到服务器。
(2)服务器上的Web容器实例化(装入)Servlet。
(3)Web容器将请求信息发送到 Servlet。
(4)Servlet 创建一个响应,并将其返回到Web容器。
(5)Web容器将响应发回客户机。
(6)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。
8、 论述客户端请求、会话与Servlet上下文之间的关联。
ServletContext,Session,Request这三个容器都放在WEB容器中如TOMCAT中,相当于容器中再套容器,而ServletContext就相当与一个能够控制Servlet这个的一个管家一样,管理着它的生命周期之类和通信只类的,而Session容器就是管理或者说控制请求来到时给客户端发送一个SessionID,并且自己服务端也保存一个SessionID,以便如果下次得到请求时做SessionID的比较,看是否是同一种请求,如果是就响应的速度就快一些.而Request容器之管理请求对象的,在建立会话的同时Request就建立了,但Request之做请求的事,比如从客户端得到客户相映的信息等,例如:属性值,报头信息,参数信息等等.但如何响应客户端,就需要通过会话容器保存的ID或者其他的信息来决定,再通过Response对象响应给客户端.
9、 写出JSP九种内置对象及其作用范围。
request对象代表来自客户端的请求,作用域request;
response对象向客户端发送数据,作用域page;
session对象支持Web应用开发过程中的会话管理,作用域session;
application对象代表运行在服务器上的Web应用程序,作用域application;
out对象代表了向客户端发送数据的对象,作用域page;
exception对象用来处理JSP文件在执行时所发生的错误和异常,作用域page;
page,作用域page;
pagecontext,作用域page;
Config,作用域page。
10、<jsp:forward>与response.sendRedirect实现重定位有何不同?
Response.sendRedirect()其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定页面,所以用sendRedirect()时,浏览器的地址栏上可以看到地址的变化,而<jsp:forward>则不同,它是直接在服务器端执行重定位的,浏览器并不知道,从而浏览器的地址并不变化。
11、一个JavaBean必须符合哪些设计规则?
(1)对于数据类型“protype”的每个可读属性,Bean 必须有下面签名的一个方法:public proptype getProperty() { };
(2)对于数据类型“protype”的每个可写属性,Bean 必须有下面签名的一个方法:public setProperty(proptype x) { };
(3)定义一个不带任何参数的构造函数。
12、JSP如何与JavaBean结合?二者如何传递信息?
JSP页面通过标记<jsp:useBean>,<jsp:setProperty>及<jsp:getProperty>与JavaBean结合。
通过标记<jsp:useBean>引入JavaBean, 然后分别利用<jsp:getProperty>标记和直接调用JavaBean对象的方法来获取JavaBean属性,利用<jsp:setProperty>标记和直接调用JavaBean对象的方法来设置JavaBean属性。
13、简述JDBC工作原理。
(1)加载连接数据库的驱动程序:Class.forName("com.mysql.jdbc.Driver");
(2)创建与数据源的连接:String url = "jdbc:mysql://localhost:3306/test";
Connection con = DriverManager.getConnection(url,"user","passwd");
(3)查询数据库:创建Statement对象并执行SQL语句以返回一个ResultSet对象
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from DBTableName");
(4)获取当前记录集中的某一记录的各个字段的值:String name = rs.getString("name");
int age = rs.getInt("age");
float wage = rs.getFloat("wage");
(5)关闭结果集,关闭查询语句,断开与数据库的连接:
rs.close();
stmt.close();
con.close();
14、什么是数据源?什么是连接池?二者之间的关系怎样?
数据源是一种数据库对编程提供的一个接口,每个数据源对应一个数据库。
连接池实际上是JDBC为第三方应用服务器提供的一个由数据库厂家实现的管理标准接口
连接池一定以数据源的形式来提供服务。但是数据源并不依赖连接池。数据源保存的实例可以是直接通过JDBC驱动来访问数据库。
javaEE简答题整理的更多相关文章
- 《web前端设计基础——HTML5、CSS3、JavaScript》 张树明版 简答题简单整理
web前端设计基础——HTML5.CSS3.JavaScript 简答题整理 第一章 (1)解释一下名词的含义:IP地址.URL.域名 iP定义了如何连入因特网,以及数据如何在主机间传输的标准. ...
- 他答对一半(打一字)asp.net开源简答题项目
先出个字谜: 他答对一半(打一字) 你猜出来了没? 可以到这个网址答题:http://m.hovertree.com/miyu/bjae/4fpmm2td.htm 看你的答案是否正确. 这是ASP.N ...
- 『Python题库 - 简答题』 Python中的基本概念 (121道)
## 『Python题库 - 简答题』 Python中的基本概念 1. Python和Java.PHP.C.C#.C++等其他语言的对比? 2. 简述解释型和编译型编程语言? 3. 代码中要修改不可变 ...
- 加深Java基础,做了20道题选择题!简答题没做
2015-03-16 17:13 269人阅读 评论(1) 收藏 举报 分类: 笔试(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. 1,下列说法正确的是( A ) A )Jav ...
- .net笔试题一(简答题)
1. 简述 private. protected. public. internal 修饰符的访问权限答:private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类 ...
- Linux系统运维常见面试简答题(36题)
1.请描述下linux 系统的开机启动过程开机加电BIOS自检———–>MBR引导———–>grub引导菜单———–>加载内核———–>启动init进程———–>读取in ...
- OS——进程简答题(1)
1,叙述进程和程序的主要区别. 解:进程和程序是两个既有联系又有区别的两个概念,它们的主要区别如下: (1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念.而进程是程序在处理机上的 ...
- 面试java简答题
1. sleep() 和 wait() 有什么区别? 答:1.这两个方法来自不同的类分别是Thread和Object 2.最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他 ...
- JAVA常见简答题
一.基础知识 1.简述使用文本编辑器和 JDK 创建并运行 Java 应用程序的基本步骤. 答:①打开文本编辑器输入 Java 源程序: ②保存文件,文件名为源程序中 public 修饰类的类名,扩展 ...
随机推荐
- UVA 246 10-20-30
题意: 给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,如果有牌堆形成了以下3种情况(按顺序判断):1.头两张+尾一张和为10或20或30.2.头一张+尾两张和为10或20或30. ...
- UVA 1374 Power Calculus
题意: 给出m,问对n最少进行几次操作.n初始为1,能得到m.操作1位将n平方.操作2为将n除以之前出现的n值中的任意一个. 分析: 其实是关于指数的操作,即从1到m最少的步数.我们可以先确定最少步数 ...
- 私有构造函数(c# .NET)
如果类成员有private修饰符,就不允许在类范围以外访问这个类成员.对类构造函数应用private修饰符时,则禁止外部类创建该类的实例.尽管看上去有些不好理解(既然不能实例化,那么这个类还有什么用处 ...
- Memcache缓存系统原理
在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法.其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率. 除了能够提高服务的运行效 ...
- Python学习之编写三级菜单(Day1,作业二)
作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...
- Android 使用PopupWindow实现弹出菜单
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用. 因对界面的需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在 ...
- [开源]在iOS上实现Android风格的控件Toast
[开源]在iOS上实现Android风格的控件Toast iOS的风格和Apple其他产品一样,简单而粗暴.没有给人其他选择的余地,让你又爱又恨.同样的,Apple对待iOS平台的开发人员和对待大众消 ...
- iOS多线程系列(3)
在2011的WWDC上,苹果推出了GCD,从此多线程增加了一种新的方法.GCD要求运行在iOS4.0版本以上或者OS X10.6版本以上.GCD是Grand Central Dispatch的缩写,是 ...
- AndroidUI 视图动画-移动动画效果 (TranslateAnimation)
移动动画效果可以使用 TranslateAnimation; <Button android:id="@+id/btnTranslate1" android:layout_w ...
- 剖析magento中关于Email模板的设置
public function send() { $emailTemplate = Mage::getModel('core/email_template'); // ...