Servlet基础知识1

来源:互联网 发布:魔兽世界大脚mac 编辑:程序博客网 时间:2024/06/05 23:43

概念:Servlet(Server Applet)是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

早期的web服务器 (apach http server,ii)只能处理静态的资源,即将事先写好的html页面,存放在服务器上,不能够动态处理(即经过计算生成的页面)页面,所以采用组件+扩容方式扩展。容器提供组件运行的环境,并管理组件的生命周期的软件程序,如tomcat组件符合规范,实现特定功能,可以部署在容器上的软件模块,需要程序员写。

容器负责大量的基础服务(比如:浏览器与服务器之间的通讯模块,多线程,参数传递),
而组件负责处理业务逻辑,另外组件不依赖于特定的容器。


Servlet运行流程

   1.建立连接
      根据请求IP以及端口号和服务建立连接
   2.数据打包
      浏览器会根据HTTP协议将数据打包
 数据包里面包含请求路径
   3.发送请求
      浏览器会向服务器发送请求数据包
   4.创建Request对象
      servlet引擎(Tomcat容器负责通讯的模块)创建Request对象,方便我们自
      定义的servlet获得请求数据包中的数据
   5.创建Response对象  
      servlet引擎创建Response对象,方便我们获得输出流并将数据通过流输出
   6.创建servet实例
      服务器通过反射的方法创建Servlet实例
   7.调用servlet实例的service(request,response)方法
      7.1)访问参数
         在service方法中访问request对象,获得用户提交的一些参数
      7.2)处理结果
         在service方法中处理结果放入response对象上
    8.取数据
       servlet引擎从response对象中取数据
    9.打包 
      servlet引擎将取出的数据打包,该数据包符合http协议
    10.发送响应
     浏览器将响应中的数据取出,生成页面


 常见报错

 报500的错,一般是程序有问题

 报405的错,service方法有问题 

 报404的错,请求的路径等有问题


原创粉丝点击