SSH及JavaEE面试准备

来源:互联网 发布:美国网络靶场 编辑:程序博客网 时间:2024/04/28 00:40

1、请你讲述一下SSH这三个框架中每一个的作用?

  1. struts:是MVC设计模式一个优秀的实现。Struts定义了通用的Controller(控制器),通过配置文件struts-config.xml隔离了M(模型)和V(视图),以Action的概念对用户请求做了封装,还提供了自动将请求的数据填充到对象中以及页面标签等简化编码的工具。
  2. Hibernate:是基于Jdbc的持久化解决方案,是当今主流的对象-关系映射工具,并简化了Jdbc繁琐的编码工作。
  3. spring:轻量级的框架,主要作为依赖注入容器和AOP实现存在。提供了声明式事务、对DAO层的支持等简化开化的功能。可以很方便地与其它框架集成。

2、请简述Servlet的生命周期。

答:Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其Service方法,service方法自动派遣运行与请求对应的doGet或doPost方法,当服务器决定将实例销毁时调用其destory方法。

3、什么是依赖注入?什么是AOP?什么是声明式事务?

依赖注入:明确定义组件接口,独立开发各个组件,然后根据组件之间的依赖关系组装运行的设计开发模式。目的:面向接口编程,管理程序间的依赖,降低组件之间的耦合度。

AOP:Aspect-Oriented Programming的简称, 意思是面向方面编程。目的:从系统中分离出方面,独立于业务逻辑实现,在程序执行时在织入程序中运行。

方面代码在AOP中以通知的形式封装。通知分前置通知、后置通知、环绕通知和异常通知。

声明式事务:通过声明的方式给系统添加事务支持。

4、JSP的9个内置对象:

对象名                         对象的类型                     范围

pageContext         Javax.servlet.jsp.PageContext             Page

page                 Javax.servlet.jsp.HttpJspPage             Page

request               Javasx.servlet.jsp.HttpServletRequest         Request

response       Javax.servlet.jsp.HttpServletResponse         Page

session                  Javax.servlet.HttpSessio                   Session

application         Javax.servlet.ServletContext             Application

out                 Javax.servlet.jsp.JspWriter             Page

config                 Javax.servlet.ServletConfig                 Page

exception           Java.lang.ThrowAble                     page

5、什么是JavaEE?包括的技术有哪些?

Java Platform Enterprise Edition, Java企业版。JavaEE应用程序由组件(具有独立功能的单元)构成,通过相关的类和文件组装成JavaEE应用程序,并与其它组件交互。

体系结构分三层:表示层、中间层、数据层。

表示层:Html, JavaScript, Ajax

中间层:JSP,Servlet, JSTL, JavaBean, 中间层的框架技术(Struts)

数据层:JDBC技术,数据层框架技术(Hibernate)

除此之外,还涉及到系统集成技术:1、JAX-WS(Web Service);2、JNDI

6、请描述数据连接池的运行机制?

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被 使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超 过最大连接数量时,这些请求将被加入到等待队列中。
数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素:
1) 最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费;
2) 最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。
3) 如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。
--------------------------------------------------------分割线-----------------------------------------------------------------
J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。
调用:客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为 忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。
释放:当使用的池连接调用完成后,池驱动程序将此连接表记为空闲, 其他调用就可以使用这个连接。

7、Get与Post请求的区别?

a.Get在地址栏有显示,不安全,Post不显示,相对安全;

b.Get在提交数据量上有限制,Post没有;

c.Get请求的页面可以设置为书签或使用Email发送,而Post不可以。

8、什么是Servlet?

运行在服务器端,处理客户端请求并做出响应的程序。

9、页面跳转有几种方式?区别?

页面跳转有两种方式:转发和重定向。转发可以以request作用域进行数据的传递;重定向将丢失request作用域内的数据。转发地址栏不变,重定向会变化。

10、jsp标准动作常见的有哪几种

jsp:userBean, jsp:setProperty, jsp:getProperty, jsp:forward

11、核心标签库包括?

通用标签:

条件标签:

迭代标签:

12、什么是WebService?

WebService是一个应用程序,它能提供一个通过Web进行调用的API, 使调用者者能够用编程的方式能过Web调用来开发应用程序。实现了语言无关和平台无关。

数据格式:XML, 协议:SOAP, 语言:WSDL

原创粉丝点击