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)页面

相关推荐
落霞与孤鹭齐飞。。1 分钟前
SSM宠物论坛设计系统
java·服务器·数据库·mysql·毕业设计·课程设计
大地爱2 分钟前
【从0带做】基于Springboot3+Vue3的心理健康预约平台
java
计算机学姐5 分钟前
基于微信小程序的安心陪诊管理系统
java·vue.js·spring boot·后端·mysql·微信小程序·小程序
wclass-zhengge24 分钟前
02内存结构篇(D1_自动内存管理)
java·开发语言·jvm
李少兄38 分钟前
解决后端接口返回Long类型参数导致的精度丢失问题
java
UVCuttt42 分钟前
三天急速通关Java基础知识:Day1 基本语法
java·开发语言
YQ91 小时前
代码中使用 Iterable<T> 作为方法参数的解释
java
ekskef_sef1 小时前
Nginx—Rewrite
java·数据库·nginx
星迹日1 小时前
数据结构:二叉树
java·数据结构·经验分享·二叉树·
道剑剑非道1 小时前
QT开发技术 【基于TinyXml2的对类进行序列化和反序列化】 二
java·数据库·qt