JavaEE

一.web开发概述

1.服务器

解释1:服务器是一款软件,可以向其他发送请求,服务器会做出一个响应。可以在服务器中部署文件,让其他人访问。

解释2:也可以把运行服务器软件的计算机称为服务器

2.安装服务器

Tomcat官方站点:http://tomcat.apache.org

3.安装JDK

1)配置两个环境变量

(1)path中

(2)JAVA_HOME

2)解压安装tomcat

(1)在bin目录中双击 startup.bat 命令启动

出现异常情况:

原因:端口号被占用。

解决方法:

在cmd输入指令:netstat -ano |findstr "端口号"。根据端口号找到进程。

输入指令:taskkill /f /t /im "进程PID号"。终止进程。

(2)访问 IP:8080

(访问时startup.bat小窗口不能关闭,作为服务器)

4.更改端口号

在conf目录下,打开server.xml文件,将69行的8080端口号更改为8088.

二.web开发环境搭建

1.创建web后端项目

1)创建

2)准备工作

4)在webapp中创建一个html文件

(测试,后面删掉)

2.发布web后端项目到tomcat中

1)在idea中集成tomcat

修改代码后,会自动将项目重新部署到tomcat中

2)页面显示

同时在tomcat中webapps文件夹下显示出domeServer文件夹

三.Servlet概述

1.定义

Servlet是Server Applet的简称,意思为用Java编写的服务器端的程序. 它运行在web服务器中,web服务器负责Servlet和客户的通信以及调用 Servlet方法。

2.作用

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

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

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

四.Servlet创建和使用

1.创建一个类

继承javax.servlet.http包下的HttpServlet

精减:

(service()可以不重写,只重写doGet()与doPost().具体解释看http请求部分)

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

3.运行Servlet程序

通过浏览器访问http:localhost:8080/ 项目名/配置的url

五.Serlvet生命周期

1.创建

第一次访问Serlvet程序时,由服务器创建。

2.初始化

在构造方法执行完成后,调用init()执行一些初始化操作。

3.服务

每次请求调用service()

4.销毁

服务器关闭时,会销毁serlvet对象,同时会自动调用destroy(),执行一些最终操作。

六.http协议, http请求

1.http协议

1)超文本传输协议 (HyperText Transfer Protocol)

服务器传输超文本 到本地浏览器的传送协议,是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程。

2)HTTP是一个基于TCP/IP通信协议来传递数据.

3)HTTP是一个属于应用层的协议,由于其简捷、快速的方式,适用于分布 式超媒体信息系统.

2.http请求

客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器 发送了一个http请求。

**1)**从前端像后端发送的请求,都是http请求

**2)**http请求只能发送超文本内容

**3)**一次http请求中包含请求行,请求头,请求行,请求体三部分

**(1)请求行:**包含请求的方式,请求的资源地址等

**(2)请求头:**包含客户端的一些环境信息,这些信息都是由浏览器自动发送的,以键值形式传递

**(3)请求体:**以表单post方式向后端发送的数据,在请求体中包含

①get请求:

主要是从后端获取信息的,例如网页上的超链接,从后端传递少量信息,获得大量信息请求数据在请求地址中直接拼接,所以传递的的数据有限,并且敏感数据不安全

② post请求:

主要用于像后端发送大量数据,例如上传表单,图片等

请求数据在请求体中,可以传输大量数据,不会在地址中显示,所以相对安全

将重写的service()简化

由于前端请求有get和post两种,在后端的处理上略有不同,在父类的service方法中,会根据请求方法的不同,调用doget()或dopost()分别处理。

(使用post请求,如果传递的消息里有汉字会出现乱码)

3.处理get请求与post请求

(编码设置必不可少)

4.方法

七.http响应

一个http响应代表服务器向客户端回送的数据,它包括:响应行,响应头,响应体。

响应行里包含了http协议版本,以及用于描述服务器对请求的处理结果。

响应头用于描述服务器的基本信息,以及数据描述

响应体代表服务器向客户端浏览器回送的正文

状态码:服务器和浏览器用于确定状态的固定数字号码

200:请求成功

302:请求重定向

400:语义有误,当前请求无法被服务器理解或请求参数有误

404:请求资源不存在,通常是路径写错了或者服务器资源删除了

500:服务内部错误(代码异常)

八.过滤器

1.定义

过滤器是javaEE规范中定义的一种技术,可以让请求到达目标之前,先进到过滤器中,在过滤器中统一进行一些拦截处理,当处理完成后,可以继续向后执行,到达目标servlet,如果配置了多个过滤器中,也可以进入到下一个过滤器。

2.使用场景

1)统一编码过滤

2)权限验证

3)跨域过滤

3.与过滤器有关的API的三个接口

1)Filter

在init()中,可以获得通过filterConfig获得配置文件中的初始化参数

(图二16,17行)

2)FilterChain

3)FilterConfig

4.总结

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

一个过滤器可以配置给多个资源使用

一个资源也可以配置多个过滤器,按照配置顺序调

九.前后端项目之间的交互

现在,在网页中通过超链接、表单就可以向后端发送请求,后端也可以正常响应内容。

1.同步请求

通过表单访问后端的请求方式称为同步请求。

同步请求:当网页与后端交互时,前端不能再进行其他操作,服务器端响应回来的内容会把整个浏览器中的内容覆盖掉。

(这种请求方式在前后端交互时不友好)

2.异步请求

现在的前后端交互请求都使用异步请求。

1)异步请求

同时可以做多件事情(前端与服务器交互时,不影响前端网页其他操作)

2)原理

使用js中提供的 XMLHttpRequest 对象实现发送异步请求和接收前端服务器响应。

3)异步请求时出现跨域访问问题

浏览器默认不允许js对象接受来自其他服务器响应的内容。

跨域问题是一个前端问题。可以在后端解决,也可以在前端解决。

4)跨域问题

跨域问题:不同服务之间进行访问。

请求的域名,协议,端口有一项不同就属于跨域访问

在添加的后端过滤器中响应时,告知前端本次响应是安全的,可以正常接收。

4.导入axious框架

5.后端像前端响应更多的数据

1)响应一个对象

(1)插入jar包

(2)通过jackson组件,将java对象转为json格式的字符串

(3)前段程序

(4)页面

2)相应多个数据

将数据包装到ArrayList数组中

6.从后端响应回标准数据格式

1)标准后端响应数据的模型类

2)将数据封装在result对象中

利用状态码反应不同状态

3)前端程序

4)页面

相关推荐
战族狼魂2 小时前
CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例
java·spring boot·后端
xyliiiiiL3 小时前
ZGC初步了解
java·jvm·算法
杉之4 小时前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
hycccccch4 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
天天向上杰5 小时前
面基JavaEE银行金融业务逻辑层处理金融数据类型BigDecimal
java·bigdecimal
请来次降维打击!!!6 小时前
优选算法系列(5.位运算)
java·前端·c++·算法
用键盘当武器的秋刀鱼6 小时前
springBoot统一响应类型3.5.1版本
java·spring boot·后端
嘤国大力士6 小时前
C++11&QT复习 (七)
java·c++·qt
松树戈6 小时前
Java常用异步方式总结
java·开发语言
weisian1516 小时前
Java常用工具算法-3--加密算法2--非对称加密算法(RSA常用,ECC,DSA)
java·开发语言·算法