Servlet

servlet即服务程序,作用在web服务器中.

Servlet的作用:

1.接收用户发送的请求数据

2.调用其他的java程序来处理请求

3.根据处理结果,将结果响应给客户端

创建servlet程序(javaEE程序)

1.创建一个类继承HttpServlet类,并重写init(),service()以及destroy()方法.

无参构造器目的是观察服务器什么时候创建(在前端第一次进行访问操作时)

init()方法在构造器执行完毕后执行,可以对servlet程序进行初始化,可以读取web.xml中的参数信息

service()方法中的参数HttpServletRequest req,表示请求对象,前端发来的请求数据都存储于此对象中.    HttpServletResponse resp,表示响应对象,用来响应前端数据

destroy()方法可以让我们在服务器关闭前再执行操作

2.在web.xml文件中配置Servlet

3.在pom.xml中添加依赖jar包地址

过滤器

过滤器就是实现了FIlter接口的类

过滤器可以实现程序的通用功能,减少代码冗余,提高维护性

一个过滤器可以给多个程序使用,一个程序可以使用多个过滤器

有以下三种使用场景

1.统一编码过滤

1.对xml文件进行配置

过滤内容在打包后不方便修改,为了方便后期修改过滤内容,我们在对其进行配置时候,将过滤内容的参数添加到web.xml文件中.

2.创建一个类实现FIlter类,使其作为过滤器

3.编写init()方法,初始化过滤器,其中FileterConfig参数可以获得初始化的参数

4.编写过滤器方法,进行具体操作,其中servletRequest代表请求内容,servletResponse代表响应内容.

其中FilterChain可以将处理后的request 和response对象传递到过滤链上的下一个资源.

2.权限验证
3.跨域过滤

同步请求

当前端页面和后端进行数据交互时,前段不能进行其他操作,后端的响应返回回来后,会将前端的页面覆盖.

异步请求

异步请求则会很好的解决同步请求的问题.异步请求操作和后端进行数据交互的时候,返回的响应不会影响前端页面.但是也会出现跨域访问问题.浏览器默认不许js接收其他服务器返回的内容.此处我们在后端使用CorsFilter过滤器解决该问题.

实现异步请求:

使用XMLHttpRequest对象来进行前后端的交互,前端收到响应后做出操作.

异步请求案例:

对文本框添加onblur,使得在输入框失去焦点后触发CheckAccount方法,该方法利XMLHttpRequest对象httpobj将请求地址和数据封装起来后发送到后端(open,send方法)后端根据请求数据做出响应,再接收后端的响应结果

跨域问题

当浏览器从一个网页访问另一个网页的资源时,如果它们不同源,则会出现跨域问题,为了防止收到攻击,浏览器默认禁止此行为.

当两个网页有域名,端口号,协议的不同时,则被认为是跨域访问.

解决:使用过滤器

简化异步请求

利用axios.min框架,对异步请求操作进行简化

jason(后端相应的标准数据格式)

当后端向前端返回的响应结果是一个对象时,前端无法识别,如果返回特定格式的字符串前端就能将其识别成一个对象.

jason便是如此,jason是前端对象的一种表现形式.而对于java而言只是特定形式的字符串.

而java中想要将字符串或者对象转换成jason形式的字符串,则需要用到ObjetMapper类的对象,这需要我们在pom.xml中添加该jar包的地址信息

返回一个集合jason字符串

标准的jason返回结果

我们要求后端返回的jason必须由三部分组成.code(返回码),message(查询情况),data(查询到的数据)

在该代码中,resp.data是代指后端返回的jason对象

我们需要创建一个类来专门存放和封装后端响应结果的信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值