Java web 学习 之servlet

介绍:   提供动态Java web资源开发技术

是一种 接口 需要定义servlet 实现类实现 接口,并且 由web 服务器运行

动态web 资源是不同用户访问得到不同的结果
  由tomcat 创建

接口有五个方法 需要实现类 全部实现

 快速入门:

 创建 web项目 导入servlet 依赖坐标

<dependency>

创建:定义一个类 实现servlet 接口 并且重写接口中所有的方法 ,并且在 service 方法中输出一句话,代表被执行,

配置 在 类上使用@web servlet 注解,配置该servlet 的访问路径

访问 启动tomcat 浏览器 输入URL 并且访问额该servlet

 执行流程 

由web服务器 创建 由服务器 调用

服务器通过接口知道service 方法 所以可以调用service方法

生命周期

加载和实例化 当servlet 第一次被访问的时候 由容器创建servlet 对象

初始化 当servlet 实例化以后 容器调用init 方法初始化这个对象 完成加载配置 初始化的 一些工作 只调用一次

请求处理 调用service方法

服务终止 调用destroy 方法

init 方法 调用时间 默认情况 servlet 被第一次访问的时候 调用init 只调用一次

service 方法 每一次被访问 多次调用

destroy  在servlet 被销毁 内存释放或者服务器官关闭 对象被销毁 调用一次

属性 loadon startup 通过属性配置修改创建的时间

servlet 方法 介绍 

get servlet info 用来返回一些信息 不常见 返回空字符串一般 或者return null 

get servlet configure 在一方法里 使用另一个方法局部变量 将局部变量的作用域提升到成员变量 类里面都可以用在此方法里返回init 的 configure 对象

体系结构 

servlet —generic servlet — http servlet 

体系根接口 抽象实现类 对http 协议封装的实现类

由于web项目是BS架构 所以定义的是针对http协议的 继承http servlet 

继承http servlet  doget dopost 俩个方法 

post需要表单 指定post方式 指定submit 为input type

httpservlet为什么要根据不同的请求方式调用不同的方法 如何调用 http协议有七个不同的请求方式 已经被封装了,不同的请求方式的不一样的情况需要分开处理

protected 表示将来子类可以看到父类的方法

url pattern 配置

servlet 要想被访问 必须访问其路径 URLpattern

一个servlet 可以配置多个URLpattern @web servlet (URL patterns ={})

URLpattern 配置规则

精确匹配 目录匹配 扩展名匹配 任意匹配

/和/*的区别 会覆盖掉tomcat中的default servlet 当其他的URLpattern 都不匹配时会走这个servlet

而/*意味着可以任意访问任何路径

request 和response

浏览器 通过载体http 信息传达给服务器 service(request ,response)

request 继承体系

servlet request  Java提供的请求对象根接口 ——http servlet request Java提供的对Http协议封装的请求对象接口

request facade tomcat实现类

tomcat 需要解析 请求数据 封装为request 对象,并且创建request 对象传递到service方法中

request 获取请求数据 :请求行 请求头 请求体

a360472649d648a4a348ee22514362dd.png

eadf96f786964fafbe1766d863601153.pngx h 

只有post请求才有请求体 

定于表单 表单数据会提交到 servlet方法里

f4c52b4d631d4af4a20e5d8715fd9f66.png

 请求参数获取方式 

get方式 :string getquerystring ()

post 方式:bufferedreader getreader ()

get请求方式和post请求方方式主要区别在于获取请求获取请求参数的方式不一样

统一的方法:现先获取请求参数判断 再调用方式 

用map 将键值对存储进去 用泛型 map<string,string「」> 

getparameter Map() 获取所有参数map集合

string 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值