一,什么是Servlet?
Servlet是一个Java编写的程序。此程序是基于Http协议的。在server端执行的(如tomcat)。
是依照Servlet规范编写的一个Java类。
二,Servlet有什么作用?
主要是处理client的请求并将其结果发送到client。
三,Servlet的生命周期?
Servlet的生命周期是由Servlet的容器来控制的,它能够分为3个阶段;初始化。执行,销毁。
初始化阶段:
1。Servlet容器载入servlet类,把servlet类的.class文件里的数据读到内存中。
2。然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包括了Servlet的初始化配置信息。
3,Servlet容器创建一个servlet对象。
4,Servlet容器调用servlet对象的init方法进行初始化。
执行阶段:
当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。
然后调用service方法。并把这两个參数传递给service方法。Service方法通过servletRequest对象获得请求的
信息。并处理该请求。再通过servletResponse对象生成这个请求的响应结果。
然后销毁servletRequest和
servletResponse对象。我们无论这个请求是post提交的还是get提交的,终于这个请求都会由service方法来处理。
销毁阶段:
当Web应用被终止时。servlet容器会先调用servlet对象的destrory方法,然后再销毁servlet对象。
同一时候也会销毁与servlet对象相关联的servletConfig对象。我们能够在destroy方法的实现中。释放
servlet所占用的资源,如关闭数据库连接,关闭文件输入输出流等。
在这里该注意的地方:
在servlet生命周期中,servlet的初始化和和销毁阶段仅仅会发生一次,而service方法运行的次数则取决于servlet被客户
端訪问的次数
四,Servlet怎么处理一个请求?
当用户发送一个请求到某个Servlet的时候,Servlet容器会创建一个ServletRequst和ServletResponse对象。
在ServletRequst对象中封装了用户的请求信息,然后Servlet容器把ServletRequst和ServletResponse对象
传给用户所请求的Servlet,Servlet把处理好的结果写在ServletResponse中,然后Servlet容器把响应结果传
给用户。
五,Servlet与JSP有什么差别?
1。jsp经编译后就是servlet。也能够说jsp等于servlet。
2,jsp更擅长页面(表现)。
servlet更擅长逻辑编辑。 (最核心的差别)。
3。在实际应用中採用Servlet来控制业务流程,而採用JSP来生成动态网页.在struts框架中,
JSP位于MVC设计模式的视图层,而Servlet位于控制层。
六,Servlet里的cookie技术?
cookies是一种WEBserver通过浏览器在訪问者的硬盘上存储信息的手段,是由Netscape公司开发出来的。
cookie技术的优点:
1,Cookie有效期限未到时,Cookie能使用户在不键入password和username的情况下进入以前浏览过的一些网站。
2,Cookie能使网站跟踪特定訪问者的訪问次数、最后訪问时间和訪问者进入网站的路径。
创建一个cookie
Java代码
//里面的两个參数各自是cookie的名和cookie的值
response.addCookie(new Cookie("abc","10000000"));
使用cookie
Java代码
Cookie[] cook =request.getCookies();//用一个Cookie数组来接收
for(int j=0;j<cook.length;j++){//通过循环来打印Cookie
cook[j].getName()://取cookie的名
cook[j].getValue()://去cookie的值
}
七,Servlet里的过滤器?
过滤器的主要作用
1。不论什么系统或站点都要推断用户是否登录。
2。网络聊天系统或论坛。功能是过滤非法文字
3。统一解决编码
(2)怎么创建一个过滤器:
1,生成一个普通的class类,实现Filter接口(javax.servlet.Filter;)。
2。重写接口里面的三个方法:init,doFilter,destroy。
3,然后在web.xml配置过滤器。
八,Servlet里的监听器?
监听器的作用:自己主动运行一些操作。
三种servlet监听器:
对request的监听。对session的监听。对application的监听。
怎么创建一个session监听器:
1,生成一个普通的class类。假设是对session的监听,则实现HttpSessionListener。
2。然后重写里面的五个方法:
Java代码
public void sessionCreated(HttpSessionEvent arg0) {} // 创建
public void sessionDestroyed(HttpSessionEvent arg0) {} // 销毁
public void attributeAdded(HttpSessionEvent arg0) {} // 添加
public void attributeRemoved(HttpSessionEvent arg0) {} // 删除
public void attributeReplaced(HttpSessionEvent arg0) {} // 替换