Servlet和Http:

Servlet和Http

**servlet:**基于Http协议在服务端生成的程序。

**http:**超文本传输协议

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

特点:

1.简单快速

2.灵活

3.无连接

4.无状态

5.支持b/s架构,c/s架构

http请求报文格式:

请求行

请求头

空行

请求体

http响应报文格式:

状态行

响应头

空行

响应体

Servlet:

  • 是一种Web服务器端编程技术

  • 是实现了特殊接口的java类

  • 由支持Servlet的Web服务器调用和启动运行

  • 一个Servlet负责对应一个或一组URL访问请求,并返回相应响应内容

实现(使用):

1.创建一个普通Java文件

2.Java文件的类名实现HttpServlet

3.重写Service方法

4.在WEB-INF下的web.xml中添加请求与servlet类的映射关系

IDEA与Eclipse区别:

IDEA生成的.class文件是放在本项目的out文件夹下面

Eclipse生成的.class文件是在tomcat的webapps目录下

Servlet的访问流程

***url:***http://localhost:8080/firstweb/first

组成:

***服务器地址:***端口/虚拟项目名/servlet的别名

***uri:***虚拟项目名/servlet别名

**过程:**浏览器发送请求到服务器,服务器根据请求URL地址中的URI信息在webapps目录下找到对应的项目文件夹,然后再web.xml中检索对应的servlet,找到并执行对应的servlet

Servlet生命周期:

**init:**完成servlet对象的初始化操作

在servlet接收到第一次请求时候完成创建对象工作

**生命周期:**从第一次接收到请求开始,到关闭服务器后销毁

web.xml中配置标签:

<servlet>    
    <servlet-name>servletLife</servlet-name>   
    <servlet-class>com.mashibing.ServletLife</servlet-class>   
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>   
    <servlet-name>servletLife</servlet-name>   
    <url-pattern>/servletLife</url-pattern>
</servlet-mapping>

Servlet类中可以有service方法

用来接收get或者post请求

如果service和doGet、doPost方法同时存在,那么就会调用service方法

如果同时有service,doGet和doPost方法,在service中调用了super.service()会根据请求方式调用doGet或者doPost

**doGet方法:**用来接收get请求

**doPost方法:**用来接收post请求

**总结:**在编写servlet类的时候,不需要重新实现service方法,需要重写doGet()和doPost()方法,用来接收get或者post请求。

servlet常见错误:

*404:*访问资源不存在

– 请求路径跟web.xml中路径不一致

– 请求路径的项目虚拟路径名称填写错误

*405:*请求方式和servlet方式不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值