一、Servlet概述

什么是Servlet?

  是用于服务器端处理http协议的组件。

  组件是什么?

    符合规范,实现部分功能,并且需要部署到相应的容器里面才能运行的软件模块。(还是java写的)

  Http协议是什么?

    HTTP协议是HyperText Transfer Protocol的缩写,即超文本传输协议。是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间如何通信以及通信的数据格式。Servlet就是一个组件,需要部署到servlet容器里面才能运行。(tomcat就是一个servlet容器+web服务器)

  容器是什么?

    1、符合容器的规范,提供组件运行环境的程序。

    2、servlet容器为servlet提供运行环境。

    3、能够充当Servlet容器这个角色的有很多软件,如Tomcat、Weblogic、JBoss等。而这些Servlet容器不仅仅具备了管理Servlet组件的功能,也具备了Web服务器的一些功能,所以很多时候只要安装一个Tomcat软件就同时具备了Web服务器及Servlet容器的双重功能。

Servlet特点

  1、Servlet存储在服务器上用于处理动态网页请求

  2、Servlet需要满足sun的规范

  3、Servlet支持拼动态资源(HTML,图片等)

Servlet和普通java类的区别?

  1、需要部署到容器内才能运行

  2、针对客户端的多次servlet请求,通常情况下,服务器只会创建一servlet实例对象,也就是说servlet一旦创建,他就会驻留在内存之中,为后续的其他请求服务,直至web容器推出,servlet实例对象才会被销毁

  3、在servlet的整个生命周期内,servlet的init方法只会被调用一次,而对一个Servlet的每次访问都导致引擎调用一次servlet的service方法。对于每次访问请求,servlet引擎都会创建有哥httpservletRequest请求对象和一个httpservletReponse响应对象,然后将这两个对象作为参数传递给servlet的service()方法。servlet方法再根据请求方式分别调用doXXX方法

访问Servlet常见的错误:
  1. 500状态码:表示系统错误。可能原因:
    1. Servlet没有继承HttpServlet或实现Servlet接口
    2. web.xml文件中的<servlet-class>写错,与真正的包名类名不符
    3. service方法中的代码运行时抛出异常
  2. 404状态码:表示依据请求路径找不到请求的资源。
    1. 输入的地址有误(应用名大小写不正确,名称拼写不正确)
    2. 在web.xml文件中<servlet>和<servlet-mapping>中的两个<servlet-name>不一致
    3. 没有将工程部署到Tomcat的webapps下面
    4. Web工程部署时的结构没有遵循Servlet的规范
  3. 405状态码:容器找不到service方法来处理请求
    1. service方法名写错,字母顺序不对或大小写错误
    2. service方法参数类型与标准不一致,或参数顺序与标准不一致。一定是先HttpServletRequest,然后是HttpServletResponse类型
    3. service方法异常、返回值类型与标准不一致,一定是抛出ServletException、IOException。返回值类型是void。
    4. 解决405错误的方法即检查service方法是否存在,签名(方法名、参数、返回值、异常类型)是否与覆盖的父类中的方法一致。
 

 

猜你喜欢

转载自www.cnblogs.com/danielJinyu/p/11362047.html
今日推荐