1.Servlet生命周期
创建servlet实例
当servlet实例化后,将调用这个对象的init()方法进行初始化
再调用对象的service()方法来处理请求,并返回处理结果,在调用service之前,
需保证init初始化已被成功执行
当需要释放servlet的时候,调用对象的destroy()方法来结束,并释放资源
2.三层架构
UI(表现层):主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。
BLL:(业务逻辑层):UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。
DAL:(数据访问层):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)
3.servlet API 中 forward() 与 redirect()的区别?
前者(请求转发)仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
后者(重定向)则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用 forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用
sendRedirect()方法。
4、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?
JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。
JSP 编译后是"类 servlet"。Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是 在 Java 文件中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java 和HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。
5、MVC 的各个部分都有那些技术来实现?如何实现?
MVC 是 Model-View-Controller 的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现), View 是应用的表示面(由 JSP 页面产生),Controller 是提供应用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
6.描述MVC各部分的功能?
Model
封装应用状态
响应状态查询
暴露应用的功能
Controller
验证HTTP请求的数据
将用户数据与模型的更新相映射
选择用于响应的视图
View
产生HTML响应
请求模型的更新
提供HTML form用于用户请求
7.解释一下什么是servlet
是用JAVA编写的Server端程序,可以动态拓展Server的能力,并采用请求-响应模式提供web服务。在MVC模式中,担任controller层。
8.什么是JavaBean?
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码
创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其
他JavaBean、applet程序或者应用来使用这些对象。