Servlet

Servlet技术

CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。

CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

 

  1. 什么是servlet

a)         制定javaee的时候做的一个规范,然后提供接口即可,面向接口的编程

b)         Servlet小程序用于创建动态网页的,把http请求和响应都封装成了HTTPServletRequest,httpServletResponse。然后再dopost和doget中做相应的处理并回应httpServletResponse反馈给用户

 

  1. Servlet生命周期

a)         Init初始化

b)         Service进行处理客户端的请求

c)         Servlet通过调用destroy方法种植

d)         最后servlet是通过jvm进行垃圾回收器的回收

e)        

  1. Servletconfig和servletContext

a)         Config获取了初始化设置的参数信息getInitParameter 值getParameterNames 名

b)         Context 实现多个servlet共享web应用的信息数据

c)          Servletconfig是产生初始化参数(由servlet容器在文件中指定)和servletcontext对象。

 

 

请求和响应

  1. HttpServletResponse 对象
  2. HttpServletResponse 应用

a)         中文输出乱码问题:字符和字节之间的转码通过查码表完成,将字符转换成字节的过程叫做编码,将字节转成字符的过程称为解码。编码解码不一致就会出现乱码。

b)         网页定时刷新

c)         禁止浏览器缓存页面

d)         请求重定向

  1. HttpservletRequest 对象
  2. HTTPServletRequest应用

a)         乱码问题

b)         请求转发

5.    重定向和转发的区别

 

 

  1. 什么是servlet?需要哪两步?

a)         是sun公司提供的一门专门开发动态web资源的技术, 可以实现和客户端的交互,接受客户端请求和给客户端返回响应

b)         需要编写一个java类实现servlet接口,开发的java类部署到服务器中

6.解析过程

         Tomcat在加载web应用时, 就会把相应的web.xml文件中的数据读入到内存中。所以在收到web请求的时候只要参考内存里面xml配置数据

 

  1. servlet运行过程

a)         web服务器首先检查是否已经装载并创建了该servlet的实例对象, 如果是,则直接执行第四步,否则,执行第二步、

b)         装载并创建该servlet的一个实例对象

c)         调用servlet实例对象的init()方法

d)         创建一个用于封装HTTP请求消息的HTTPServletRequest对象和一个代表HTTP响应消息的HTTPServletResponse对象,然后调用servlet的service()方法并将请求和响应对象作为参数传递进去、

e)         Web应用程序被停止或重新启动之前, servlet引擎将卸载servlet, 并在卸载之前调用servlet的destroy方法

f)         

  1. servlet的生命周期

a)         init detory 方法只会调一次创建一次实例,分别为初始化和销毁的时候进行创建

b)          而service方法会调用多次,每次HTTP请求都会创建实例。

c)         Service里面有doPost 和 doGet 在没指认的时候默认调用doGet 有指认Post的时候才用post(在前端页面的form标签里面的method)

  1. ServletConfig对象

a)         首先得知道的事web.xml文件中可以使用一个或者多个的<context-param>标签为servlet配置一些初始化参数

b)         然后servletConfig对象会自动将这些初始化参数封装到自己里面。

  1. ServletContext对象

a)         ServletContext是一个全局对象它是被servletConfig所维护的。 所以可以通过servletconfig.servletContext获取共有的环境变量,servlet之间的通讯也是这样实现的

  1. 流程图

a)         浏览器访问Tomcat

b)         Tomcat转发到web application上

c)         找到这个应用程序的xml配置文件

d)         配置文件上找到相对应的servlet映射

e)         找到servlet

f)          第一次访问的实例化该servlet对象

g)         调用init

h)         调用service方法

i)           返回响应

j)           结束程序的时候会销毁它

 

posted @ 2017-11-22 19:34  老螃蟹  阅读(178)  评论(0编辑  收藏  举报