servlet

1.http协议

  概念:超文本传输协议

  作用:规范了浏览器和服务器的数据交互

  特点:简单、快捷、无连接、无状态、HTTP1.1版本支持可持续链接

2.http的交互流程

  (1)客户端与服务器端建立连接

  (2)客户端发送请求数据到服务器(HTTP协议)

  (3)服务器端接收到请求后,进行处理,然后将处理结果响应客户端(HTTP)

  (4)关闭客户端和服务器端的连接(HTTP1.1后不会立即执行)

3.http协议之请求格式

  请求格式结构:

    请求头:请求方式,请求的地址和HTTP协议版本

    请求行:消息报头,一般用来说明客户端要使用的一些附加信息

    空行:位于请求和请求数据之间,空行是必须的

    请求数据:非必须

 4.HTTP协议之响应

  响应格式的结构:

    响应行(状态行):HTTP版本、状态码、状态信息

    响应头:消息报头、客户端使用的附加信息

    空行:响应头和响应实体之间

    响应实体:正文、服务器返回给浏览器的信息

5.HTTP常见响应状态码含义

  HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。

常见的状态码:

200 OK客户端请求成功
400 Bad Request客户端请求有语法错误,不能被服务器所理解
401 Unauthorized请求未经授权,这个状态码必须和www-Authenticate报头域一起使用
403 Forbidden服务器收到请求,但是拒绝提供服务
404 Not Found请求资源不存在,eg:输入了错误的URL
500 Internal Server Error服务器发生不可预期的错误
503 Server Unavailable服务器当前不能处理客户端的请求,一段时间后可能恢复正常

 6.servlet的生命周期

  从第一次调用到服务器关闭

  如果Servlet在web.xml中配置了load-on-startup,生命周期为从服务器启动到服务器关闭

  (1)init()

    init方法是对Servlet进行初始化的一个方法,会在Servlet第一次加载内容的时候被调用

  (2)destory()

    destory方法是在Servlet被销毁时执行,也就是服务器关闭时

  (3)service()

    service方法,真正处理请求的方法,可以处理get/post方式的请求,如果servlet中有Service方法,会优先调用service方法请求进行处理

  (4)doGet()

    处理get方式的请求

  (5)doPost()

    处理post方式的请求

  注意:

    如果在重写的service方法中调用父类的service方法(super.service(arg0,arg1)),则service方法处理完后,会再次根据请求方式响应doGet和doPost方法执行

    我们一般不在重写的service中调用父类的sevice方法,避免出现405错误

7.servlet的常见错误

  404错误:资源未找到

    原因一:在请求地址中的servlet的别名书写错误

    原因二:虚拟项目名称拼写错误

  500错误:内部服务器错误

    错误一:

      java.lang.ClassNotFoundException:

      解决:

        在web.xml中校验servlet类的权限校验是否拼写错误

    错误二:

      因为service方法体的代码执行错误导致

      解决:

        根据错误提示对service方法体中的代码进行错误更改

  405错误:请求方式不支持

      原因:请求方式和servlet中的方式不匹配

      解决:

        尽量使用service方法进行请求处理,并且不要在service方法中调用父类的service

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值