servlet
1.什么是Servlet?
保存在Servlet容器中,动态拼资源给发HTTP请求的客户端的web组件。
(什么是http协议:是一个规范,规定浏览器和服务器如何通信,规定通信的数据格式。)
2.Servlet的生命周期问题?
Servlet加载:在Web容器启动或第一次请求服务时,Web容器将其实例化放入Servlet实例池。
初始化Servlet:当Servlet实例化后,容器将调用Servlet对象的init()方法完成Servlet的初始化。
处理请求Service方法:容器通过Servlet的service()方法处理客户端请求。
处理完成调用destory()方法:Web容器关闭时,容器调用Servlet对象的destroy方法对资源释放。
3.创建Servlet对象的时机的三点阐述:
a.Servlet容器启动时:读取web.xml配置信息,构造指定的Servlet对象,创建ServletConfig对象,同时将ServletCongfig对象作为参数来调用Servlet对象的init方法。
b.在Servlet容器启动后,客户端首次向Servlet发请求,Servlet容器会判断内存中是否存在指定的Servlet对象,如果没有则创建,然后根据客户端的请求创建HttpRequest,HttpResponse对象。
c.Servlet容器启动时自动创建servlet对象,这是由web.xml文件中属性决定的。从中我们也能看到同一类型的servlet对象在Servlet容器中以单例的形式存在。
<servlet>
<servlet-name>Init</servlet-name>
<servlet-class>***</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
4.Servlet的技术特点:
方便,实用的API方法,针对HTTP请求提供丰富的API方法,他可以处理会话跟踪,读取和设置HTTP头信息等;高效的处理方式,Servlet的一个实例对象可以处理多个线程的请求。。。。
5.Servlet与JSP的区别:
Servlet更擅长业务逻辑代码的处理,JSP更擅长页面的显示;Servlet中调用Servlet API接口处理HTTP请求,而在JSP页面中,则直接提供了内置对象进行处理;Servlet的使用要进行一定的配置,而JSP文件通过.jsp扩展名部署在容器之中,容器对其自动识别,直接编译成Servlet进行处理。
3.常用的服务器有哪些:Tomcat,JBoss,WebLogic,WebSphere
4.常见的请求错误:
5.浏览器向服务器发送请求的方式和区别:
get(默认);
get使用请求路径传参,将参数附加在路径上发送服务器
参数在传递过程中可见,隐私性差
请求路径空间有限,只能携带少量参数
post;
使用实体内容传参
参数在传递过程中不可见,隐私性好
实体内容专门用来传参,大小没有限制
6.servlet的生命周期和工作原理
http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.html
标准:默认情况下在第一次访问某个servlet时创建其唯一对象,并初始化;也可以在servlet容器启动时,读取web.xml配置文件中来依次创建对象,创建某个servlet对象(同时创建ServletConfig对象,然后通过ServletConfig对象作为参数调用init()方法),调用service()来处理请求,在服务端停止时,调用destroy(),结束生命周期。
7.jsp九大内置对象,四大作用域:http://blog.csdn.net/zhangzeyuaaa/article/details/44560921
8.el标签取值顺序:page,request,session,application
9.转发和重定向的共同点以及区别:
共同点:他们都是解决web组件之间的跳转问题;(web组件:servlet,jsp)
不同点:转发,一次请求,地址不变,共用一个request,只能转发给项目内的组件
重定向,二次请求,地址改变,不同的request,可以重定向到项目外的组
10.mvc模式:M(model):业务层,用来处理业务逻辑,通常负责数据库中存取数据。V(View):视图层,用来显示数据。C(Controller):控制层,用来处理请求。
最经典的mvc就是jsp+servlet+javabean
什么是Javabean:有默认构造器,实现序列化接口,通常有get/set方法
11.cookie和session专门解决这样的存储问题:
-多个请求之间可以公用此对象中的数据
-多个servlet之间可以公用此对象的数据
-多个浏览器单独存一份数据,数据分开互不影响
区别:
-cookie数据存在浏览器上,服务器压力小,但很容易被篡改
-session数据存储在服务器上,服务器压力大,无法篡改
上一篇: php?剔除目录下的所有东西