Servlet小总结(转)
一,什么是Servlet?
Servlet是一个Java编写的程序,此程序是基于Http协议的,在服务器端运行的(如tomcat),
是按照Servlet规范编写的一个Java类。
二,Servlet有什么作用?
主要是处理客户端的请求并将其结果发送到客户端。
三,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是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段,是由Netscape公司开发出来的。
cookie技术的好处:
1,Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点。
2,Cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径。 创建一个cookie
- //里面的两个参数分别是cookie的名和cookie的值
- response.addCookie(new Cookie("abc","10000000"));
使用cookie
- <span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px; white-space: normal; #ffffff;">Cookie[] cook =request.getCookies();//用一个Cookie数组来接收 </span>
- 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,然后重写里面的五个方法:
- 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) {} // 替换
Servlet小总结(转)的更多相关文章
- 第一个servlet小程序
第一个servlet小程序 com.fry.servlet.HelloServlet package com.fry.servlet; import javax.servlet.ServletExce ...
- IDEA使用技巧,如何在JSP中创建Servlet“小程序”
步骤 1.新建一个java类,实现Servlet接口 2.实现接口中的抽象方法: 3.在web.xml文件中配置好servlet <web-app ......> <servlet& ...
- Servlet小总结
Servlet Servlet(服务器端小程序)是使用Java语言编写的服务器端程序,像JSP一样,生成动态的Web页.Servlet主要运行在服务器端,并由服务器调用执行. Servlet处理的基本 ...
- servlet(2) - 利用MyEclipse新建一个servlet - 小易Java笔记
1.Tomcat在MyEclipse中集成 ==> Window-preferences-MyEclipse-Servers-Tomcat-Tomcat 6.x-点击右侧的Browse,选择你的 ...
- 关于Servlet小总结
目录 Servlet Servlet简介 Servlet简单实现 Servlet注解 Servlet生命周期 启动时加载Servlet Servlet客户端 HTTP请求的结构 Servlet服务器 ...
- 第一个servlet小例子
1.sendForward.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&q ...
- Servlet小示例:jsp页面提交信息Servlet接收并打印输出
该示例采用doPost方法提交表单,该示例一共包含两个文件. 一个是用来提交用户信息的表单userForm2.jsp,另一个是用来接收参数的Servlet. userForm2.jsp <%@ ...
- Servlet小知识点
1. Sevlet是一个java类,供以其他程序调用,不能独立运行,需要Servlet引擎(Servlet容器)来管理和调度. 2. 服务器启动后,一般只会创建一个Servlet实例对象,init方法 ...
- 一个简单的servlet小程序
servlet是不能单独运行的,他是运行在web服务器或应用服务器上的java程序,或者可以说是在servlet容器上运行的,我们经常使用到的tomcat就是一个servlet容器. 他是处理HTTP ...
随机推荐
- React 国际化
前言 React 做国际化,我推荐使用 React-intl , 这个库提供了 React 组件和Api两种方式来格式化日期,数字和字符串等.知道这个库了,那让我们开始使用它 组件用法 为了和Reac ...
- (C#:Socket)简单的服务端与客户端通信。
要求:1.可以完成一对一的通信:2.实现服务端对客户端一对多的选择发送:3.可以实现服务端的群发功能:4.可以实现客户端文件的发送: 要点:服务器端:第一步:用指定的端口号和服务器的ip建立一个End ...
- c#配置文件的简单操作
// 配置文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> < ...
- php处理登录、添加数据、删除数据和修改数据
php 处理登录 :需要先建一个登录的页面,用form表单就可以很轻松的完成,(这里的示例是我根据数据库现成的表做的 是一个teacher表格 根据老师的工号和姓名登录的) <form acti ...
- jvm系列(八):jvm知识点总览-高级Java工程师面试必备
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功.对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后 ...
- MSCRM 通过Ajax调用WCF服务
Call WCF Service from Dynamics CRM using AJAX A couple of days back, I had one of my ex-colleagues c ...
- JS传值和传引用
之前看<javascript高级程序设计>时就遇到过一个问题,就是函数传参的问题,书上说是按值传递,而非按引用传递.很多人都会认为js里面有两种传值方式,一种是复制,另一种是数组.对象等按 ...
- iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解
iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解 iOS开发中,我们常常将一块View封装起来,以便于统一管理内部的子控件.如iOS回顾笔记(02)中的"书" ...
- SqlHelper帮助类_上(SQLServer数据库含Connection详解)
在操作数据库时,经常会用到自己封装的SqlHelper.这里主要对SQLServer数据库的Sqlhelper,主要用于在同一个连接中完成CRUD! 一.ADO.NET中的Connection详解: ...
- ThinkPHP项目总结
1.当你 require ThinkPHP之后,会自动在App目录下生成 common, Home, Runtime 三个文件夹. 2.输入网址 http://localhost/blog/app/i ...