小白之旅24

一. Servlet

server applet

1.1 概念:

运行在服务器的Java程序

Servlet是一个接口,定义了Java类被tomcat识别的规则

1.2 Servlet的实现步骤

1、创建类实现Servlet接口

2、重写方法

3、配置Servlet的映射,在WebContent -> WEB-INF -> web.xml

具体实现:

1、implements Servlet

2、init()、service()、destroy()

3、

<servlet>

​   <servlet-name>标识</servlet-name>

​   <servlet-class>全类名</servlet-class>

</servlet>

<servlet-mapping>

​   <servlet-name>标识</servlet-name>

​   <url-pattern>/资源</url-pattern>

</servlet-mapping>

执行原理:

1、当服务器接收到客户端的请求后,会解析地址栏中请求的资源,获取访问的Servlet的路径

2、它会自动查找web.xml文件,是否有一个url-pattern与请求的资源对应

3、如果有,则找到对应的servlet-class中的指定类

4、tomcat会将这个对应的Servlet类编译成字节码文件,放在WEB-INF -> classes下,

然后会将这个字节码文件加载进内存,并创建这个Servlet的对象

5、调用它的方法

二.Servlet的生命周期

2.1 init

Servlet被创建时执行,并且只执行一次

Servlet何时被创建?

1、默认情况下,是在第一次被访问时候执行

2、可以在web.xml中的某个servlet标签下配置<load-on-startup>n</load-on-startup>,让该Servlet在服务器启动时就创建

n:

  • 负整数,仍然是默认是第一次被访问时创建
  • 0:当服务器启动时就创建
  • 正整数:同上
  • n越小,越先执行

2.2 service

每次Servlet被访问都会执行

2.3 destroy

Servlet被销毁时执行,只执行一次

destroy方法在Servlet被释放前执行,用于释放资源

只有服务器正常关闭时,才会执行destroy方法

三. HttpServlet

Servlet 接口

GenericServlet 抽象类

HttpServlet 抽象类

实际开发中,我们采用继承HttpServlet的方式来创建Servlet

步骤:

1、创建类继承HttpServlet

2、重写doGet()和doPost()方法

四. (练习)使用Servlet结合数据库完成注册功能

4.1 页面

1、两个输入框,一个提交按钮

2、action的提交位置

4.2 数据库

1、建库,建表

2、导入3个包:connector、c3p0、dbutils

3、c3p0-config.xml

4、获取连接池

5、定义注册方法

4.3 服务器

1、通过键获取对应的值

2、调用注册功能

五. url-pattern的配置

1、完全匹配

请求的资源与url的配置完全一致

2、目录匹配

格式:/ 目录 / *

表示:只要目录一致,目录后可以写任意内容来访问

3、扩展名匹配

格式:*.扩展名

表示:只要扩展名一致,文件名可以是任意的

注:目录匹配和扩展名匹配不能混用

4、缺省匹配

格式:/ 或 /*

表示:请求的资源不存在时就有该url对应的Servlet来处理

六. HTTP

概念:超文本传输协议

Hypertext Transfer Protocol

作用:定义客户端与服务器端通信时需要遵循的规则,它定义的数据的格式

特点:

  • 它是基于TCP / IP 的高级传输协议
  • 它是基于 请求响应对的 ,一次请求对应一次响应
  • 它是无状态的:每次请求都相互独立,不能有数据的通信、交互

版本:

  • HTTP 1.0:每次请求都会创建新的连接,在响应后都会断开连接。
  • HTTP 1.1:请求后创建的连接会被下次请求重复使用

请求消息的数据格式:

  • 请求行:请求方式 请求地址 请求协议
    • 请求方式:一共有7种,最常用的是get和post
      • get:
        • 请求的参数在地址后
        • 相对不安全
        • 提交的长度有限
      • post:
        • 请求的参数在请求体中
        • 相对安全
        • 提交的长度没有限制
    • 请求地址:http://localhost:8080/day24_4url/request
    • 请求协议:HTTP/1.1
  • 请求头:客户端告知服务器的信息
    • Accept:允许接收的资源
    • Referer:告知服务器当前的请求从哪个url来,一般用于防盗链
    • User-Agent:告知服务器,所使用浏览器的版本
  • 请求体:封装请求的参数
    • get请求没有请求体,get请求的参数在url上
    • 只有post有请求体

转载于:https://www.cnblogs.com/demonycw/p/11342757.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值