一Q什么是ServletQ?/p>
Servlet是一个Java~写的程序,此程序是ZHttp协议的,在服务器端运行的(如tomcat)Q?/p>
是按照Servlet规范~写的一个JavacR?/p>
二,Servlet有什么作用?
主要是处理客L(fng)的请求ƈ其l果发送到客户端?/p>
三,Servlet的生命周期?
Servlet的生命周期是由Servlet的容器来控制的,它可以分?个阶D?初始化,q行Q销毁?br />
初始化阶D:(x)
1QServlet容器加蝲servletc,把servletcȝ.class文g中的数据d内存中?/p>
2Q然后Servlet容器创徏一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息?/p>
3QServlet容器创徏一个servlet对象?/p>
4QServlet容器调用servlet对象的initҎ(gu)q行初始化?/p>
q行阶段Q?/p>
当servlet容器接收C个请求时Qservlet容器?x)针对这个请求创建servletRequest和servletResponse对象?/p>
然后调用serviceҎ(gu)。ƈ把这两个参数传递给serviceҎ(gu)。ServiceҎ(gu)通过servletRequest对象获得h?/p>
信息。ƈ处理该请求。再通过servletResponse对象生成q个h的响应结果。然后销毁servletRequest?/p>
servletResponse对象。我们不这个请求是post提交的还是get提交的,最l这个请求都?x)由serviceҎ(gu)来处理?/p>
销毁阶D:(x)
当Web应用被终止时Qservlet容器?x)先调用servlet对象的destroryҎ(gu)Q然后再销毁servlet对象Q?/p>
同时也会(x)销毁与servlet对象相关联的servletConfig对象。我们可以在destroyҎ(gu)的实CQ释?/p>
servlet所占用的资源,如关闭数据库q接Q关闭文件输入输出流{?/p>
在这里该注意的地方:(x)
在servlet生命周期中,servlet的初始化和和销毁阶D只?x)发生一ơ,而serviceҎ(gu)执行的次数则取决于servlet被客?/p>
端访问的ơ数
四,Servlet怎么处理一个请求?
当用户发送一个请求到某个Servlet的时候,Servlet容器?x)创Z个ServletRequst和ServletResponse对象?/p>
在ServletRequst对象中封装了用户的请求信息,然后Servlet容器把ServletRequst和ServletResponse对象
传给用户所h的ServletQServlet把处理好的结果写在ServletResponse中,然后Servlet容器把响应结果传
l用戗?/p>
五,Servlet与JSP有什么区别?
1Qjspl编译后是servletQ也可以说jsp{于servlet?/p>
2Qjsp更擅镉K?表现)。servlet更擅镉K辑~辑?(最核心的区??/p>
3Q在实际应用中采用Servlet来控制业务流E?而采用JSP来生成动态网?在struts框架?
JSP位于MVC设计模式的视囑ֱ,而Servlet位于控制层?/p>
六,Servlet里的cookie技术?
cookies是一UWEB服务器通过览器在讉K者的盘上存储信息的手段Q是由Netscape公司开发出来的?/p>
cookie技术的好处Q?/p>
1QCookie有效期限未到ӞCookie能用户在不键入密码和用户名的情况下q入曄览q的一些站炏V?/p>
2QCookie能站点跟踪特定讉K者的讉Kơ数、最后访问时间和讉K者进入站点的路径?br />
创徏一个cookie
使用cookie
七,Servlet里的qo(h)器?
qo(h)器的主要作用
1QQ何系l或|站都要判断用户是否d?/p>
2Q网l聊天系l或论坛Q功能是qo(h)非法文字
3Q统一解决~码
(2)怎么创徏一个过滤器Q?/p>
1Q生成一个普通的classc,实现Filter接口(javax.servlet.Filter;)?/p>
2Q重写接口里面的三个Ҏ(gu)QinitQdoFilterQdestroy?/p>
3Q然后在web.xml配置qo(h)器?/p>
八,Servlet里的监听器?
监听器的作用Q自动执行一些操作?br />
三种servlet监听?
对request的监听。对session的监听。对application的监听?br />
怎么创徏一个session监听器:(x)
1Q生成一个普通的classc,如果是对session的监听,则实现HttpSessionListener?/p>
2Q然后重写里面的五个Ҏ(gu):