面试总结2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.MVC的各个部分都有那些技术来实现?如何实现?
MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组
件实现),"View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般
是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
2.说出数据连接池的工作机制是什么?
J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用
模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件
又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组
件,Business层和组件,企业信息系统(EIS)层。
3.修改tomcat端口号的方法:
8080是Tomcat服务器的默认的端口号。我们可以通过修改Tomcat服务器的conf目录下的主配置文件server.xml来更改.用记事本打开server.xml文件,找到如下部分:
4.如果要访问数据库:
a. 保证数据库能够正常地保存中文。对于mysql数据库create database dbname default character set utf8;
b. 使用jdbc访问数据库时,必须要保证jdbc驱动程序能够识别数据库中保存数据的编码
jdbc:mysql://localhost:3306/jd1109db2? useUnicode=true&characterEncoding=utf8
5.jsp与servlet的关系
JSP是Servlet技术的扩展,是Servlet的简易方式,本质上就是servlet。JSP编译后是“类servlet”。
但是两者的创建方式不一样。Servlet完全是JA V A程序代码构成擅长于流程控制和事务处理。JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页。在struts框架中,JSP位于MVC 设计模式的视图层,而Servlet位于控制层。
Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
6.struts2中如何获得request,session对象?
public class BaseAction implements SessionAware,RequestAware,Constants { protected Map
protected Map
public void setSession(Map
this.session = session;
}
public void setRequest(Map
this.request = request;
}
}
如果想使用Session,就实现SessionAware接口, Struts2会调用其setSession 方法,将Session对象传入。该Session对象在HttpSession的基础上封装成了Map对象。
request对应ServletRequestAware
response 对应ServletResponseAware
session对应SessionAware
application对应ServletContextAware
7.servlet生命周期
生命周期分成哪几个阶段:
1)实例化:
a, 容器调用servlet的构造器,创建一个servlet实例。
b, 什么时候实例化?
情况1:只有请求到达容器之后,容器才会创建。
情况2: 容器启动之后,会立即创建servlet实例,该servlet必须要配置load-on-startup参数。
2)初始化:
a, 容器在将servlet实例化之后,会立即调用其init(ServletConfig config)方法。
1, init方法只会执行一次
2,GenericServlet已经实现了init方法(将ServletConfig对象保存下来了)。
3, 容器在调用init方法之前,会先创建一个符合ServletConfig接口要求的对象,然后再把该对象作为参数传过init方法。
b, 初始化参数:
1,使用
2,使用ServletConfig提供的getInit Parameter方法来访问。
c, 如果要实现自已的初始化处理逻辑,建议override init()方法。
3)就绪:
a, servlet容器在收到请求之后,会调用servlet对象的service方法来处理请求。
b,HttpServlet已经实现了service方法,该方法依据请求类型分别调用doGet,doPost方法。