servlet补充

Servlet生命周期

构造方法:只被调用一次,只有第一次访问 Servelt 时或服务器启动时创建Servlet 实例。
Init 方法:只被调用一次,在 Servlet 实例创建好实例后立即执行,用于执行一些初始化Servlet 的操作。
service 方法:多次调用,每次请求都调用 service 方法,根据请求方式调用doGet() doPost() 方法。
destroy :只被调用一次,在服务器关闭时调用,执行一些操作。

http协议

超文本传输协议 (HyperText Transfer Protocol)服务器传输超文本到本地浏览器的传送协议,是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程,是一个基于TCP/IP通信协议来传递数据,属于应用层的协议,由于其简捷、快速的方式,适用于分布
式超媒体信息系统。

一个http请求包括三部分:

请求行:请求的地址, http版本,,状态码

请求头:客户的信息

请求体:表单post提交数据的区域

get方式

超链接访问, form表单提交,默认是get方式, 地址栏直接访问
主要用于从服务器获取信息, 通过URL提交数据, 数据在URL里可以看到, 放置的数据一般在1kb左右

post方式

form表单提交, 指定method=“POST”
主要是向服务器提交信息, 数据放在请求体里提交, 可以向后端提供大量数据, 数据放在请求体里面

请求对象

后端通过继承 HttpServlet 类, 该类重写了servlet里的必要方法,(例如:servlet的构造方法, init方法, service方法, destroy方法),参数里有request对象,respose对象对前端信息,响应信息进行包装
继承该类就只用写需要的dopost与doget方法
注意:Servlet接口里的service(HttpServletRquest,HttpServletRquest )是为前端通过服务的, 每次请求都会被访问 HttpServletRquest 表示请求 HttpServletRespose 表示响应,请求与响应对象里面封装了数据, 具体是服务器里的类实现HttpServletRespose 接口,并且把数据封装进去

通过request对象获取传输信息

 

注意: 由于前后端解码规则问题, post请求的数据向后端传输时,中文时会乱码, 所以在接收之前(一定要在之前设置)要进行设置编码格式get请求在Toncat8.0 之后 中文不会乱码  

前端获取后端内容以及respose对象

响应状态码  

Filter过滤器 

Filter接口

javaAPI提供Filter接口,编程过程中, 如果java类实现了这个接口, 这个类就叫做过滤器, 用Filter技术可以使得用户在访问某个资源时, 对访问请求和响应进行拦截,请求就不会到达目标的dopost或者doget

作用: 对服务器的web资源进行拦截(权限控制, 通过拦截资源进行权限控制, 是否可以访问 )

 

该接口有三个方法init(), doFilter(), destory()

1.init()
该方法是对filter对象进行初始化
的方法,仅在容器初始化filter对象结束后被调用一次
2.doFilter()
该方法是filter进行过滤操作的方法,是最重
要的方法。过滤器实现类必须实现该方法。方法体中可以对request
和response进行预处理。其中FilterChain可以将处理后的request
和response对象传递到过滤链上的下一个资源。
3.destory()
该方法在容器销毁过滤器对象前被调用。不用时只需要重写doFilter

在web.xml文件里面配置过滤器

AJAX (Asynchronous JavaScipt and XML)(异步JavaScript 和 XML) 

Ajax 全称为:“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML), 使用 Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提升了 用户体验,其本质是利用浏览器提供的一个特殊的对象(XMLHttpRequest) 异步地向服务器发送请求。服务器返回部分数据,浏览器让你去利用这些数据对页面做部分的更新, 整个过程,页面无刷新,不打断用户的操作。

创建 XMLHttpRequest 对象

就绪状态码

 

 

axios框架

Axious是ajax框架,一个基于promise的Http库, 可以用在浏览器 和 node.js里
特性:

  1. 可以从浏览器创建XMLHpptRequest对象
  2. 从 node.js 创建http请求
  3. 拦截请求跟响应
  4. 取消请求

 

  1. 首先要引入axios.js文件或者安装axios的脚手架
  2. 然后使用对应的axios的语法

axious框架实现异步请求

跨域问题

在前端服务页面中(8848) 接收后端服务器响应的数据(8080)
使用ajax技术前端后交互,前端默认会进行阻止,不让前端服务接收其他后端的数据.
为了安全性, 协议,域名,端口有一个不相同就是属于跨域问题
 跨域问题解决: 前端解决, 后端解决,在响应头中设置说明,告知浏览器,此次的响应是可靠的 

 

在web.xml中配置

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值