Java期末复习知识点

发布时间:2024年01月10日

一.Web服务器和HTTP协议:

1.web服务器工作原理?

客户在浏览器上输入URL地址,回车.然后浏览器将URL地址发送给DNS服务器获取,对应Web服务器的IP地址,然后将IP地址返回给浏览器,然后浏览器向Web服务器发送请求,然后Web服务器查询数据,返回给浏览器,然后浏览器进行渲染,显示在客户面前

2.web服务器和web应用的关系?

Web服务器是web应用的基础.web应用是运行在web服务器上的,同时web服务器用来接收浏览器发送的请求,并做出响应

3.常见的web服务器包括哪些?

nginx Tomcat apache IIs

常见浏览器的架构是: B/S Browser/server架构, HTTP协议提供通信

? 常见的浏览器有: Browser: IE Chrome edge firefox server:(nginx-转发代理 Tomcat-java apache-php iis-Asp.met)

4.Tomcat服务器

? Tmocat服务器默认端口号是 8080

#### 如何修改端口号?

Tmocat服务器修改端口号在server.xml文件中修改

如何部署Tomcat服务器项目?

? 两种方式:

? 将项目打包成war压缩文件,复制到webapps目录下

? 还有一种是将编译好的项目文件 直接复制到webapps目录下

5.HTTP

HTTP,HTML,HTTPS的区别和联系?

HTTP是超文本传输协议,用来传输数据. 传输层基于TCP,默认端口号是80

HTTPS是基于HTTP进行加密之后的传输协议. 默认端口号是443

HTML是超文本标记语言,HTML是浏览器解析渲染的语言,

HTTP报文的类型?

分为请求和应答报文

HTTP报文结构?

头部head和主体body

HTTP请求报文的类型?

GET POST PUT HEAD DELETE:

GET 查 POST 增 PUT 改 HEAD查头部元数据,不返回资源主体信息 DELETE: 删

get和post的区别?

get 传输小数据,最重要的是get请求是将 数据 放在URL里面

post 可以用于传输大数据 Post是将请求 放在body请求体里面

HTTP传输数据时,什么时候放在头部,什么时候放在body?

HTTP传输数据,将数据放在哪里是由 HTTP请求的方法决定的:

? GET请求是将数据放在请求头URL中,不放在请求体中

? POST PUT DELETE 是将数据放在请求体中

HTTP报文常见类型Content-type有哪些?哪种是用来传输json数据?
应答报文中常见的状态码以及其含义

1xx: 返回信息状态比如 暂存什么什么的

2xx: 成功状态码

3xx: 重定向

4xx: 客户端错误

5xx:服务器错误

url地址各个字段的含义:
  1. http:// www.testjava.com:9000/input/test?a=3&b=5…

通信协议是:http请求协议

访问地址是: www.tstjava.com

端口号是 9000

input/test请求路径是

?a=3&b=5是查询参数,用于给服务器传递的参数

Maven

Maven是什么?

是一个基于Java平台的项目管理和整合工具

Maven项目中pom.xm文件的作用?

说明项目自身信息,项目运行所依赖jar包信息,项目运行环境信息比如:jdk,tomcat信息

jar包和war包?

jar包是归档文件,Java程序可以打包成jar包, jar包是将别人已经写好的一些类,然后对这些类进行打包,然后开发人员就可以将jar包引到自己的项目里面,使用这些类和属性.

war包是一个web应用程序,可以直接运行,一般是开发好的网站,打包之后部署在tomcat网站根目录下面,然后重启tomcat,然后这个包就可以自动解压,相当于代码发布

war包是 java web程序打的包

maven的仓库种类:

本地仓库

远程仓库(远程仓库也叫中央仓库,第三方仓库)

maven常用命令:

mvn clean 清除项目的构建缓存

mvn install 将项目安装到本地仓库

mvn compile 编译项目的源代码

mvn test 运行项目的单元测试

mvn package 打包项目,生成可执行文件或者部署包

Stream API的使用?

过滤 映射 聚合 将Stream转换为一个包含这些元素的集合

stream.filter(n->n%2==0) //过滤,将偶数保留

stream.map(t->t*t)//映射 返回t的平方

steam.reduce(0,(a,b)->a+b) // 第一个值是默认值,第二个是一个函数,接受两个参数运算之后返回新的一个元素

collection() 将Stream转换为一个包含这些元素的集合

流操作 不改变原有的数据集

二.Servlet和过滤器

Servlet程序的运行和测试

1.Servlet类不能直接运行,而是编译后得到二进制文件.class文件,部署到Web服务器才能运行

2.Servlet程序测试, 需要前端浏览器发送HTTP请求进行测试

3.Servlet类需要映射到指定的URL地址

Servlet数据处理流程

1.接收HTTP请求

2.获取HTTP请求报文数据并且进行处理

3.返回HTTP响应报文

HTTP请求中的头部和通信相关的信息,可以通过HttpServletRequest方法获取

获取Http报文主题信息:

1.报文主体数据由用户通过表单产生,是键值对 key-value形式

获取数据的方法: String getParameter(String key)

在Servlet中处理中文字符问题

出现中文乱码的原因:

中文乱码出现的原因在于 字符编码的不统一

如果页面的编码是utf-8,表单提交的值也是utf-8,和tomcat的编码默认不一样,所以就产生了乱码

Servlet生命周期

实例化 初始化 服务 销毁

实例化: Servlet 容器创建Servlet的实力

初始化: 该容器调用init()方法

服务: 如果请求Servlet,则容器调用service()方法

销毁 销毁实例之前调用 destroy()方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Servlet页面跳转的方式

什么是页面跳转?

页面跳转是指将后台程序根据业务逻辑,自动从当前页面跳转到指定页面

页面跳转的方式?

页面跳转的方式有两种: 重定向 和 转发

重定向: 后台通知客户端浏览器重新访问新的URL地址

请求转发: 后台获取跳转页面的资源,生成HTML文档,然后发送到客户端

Servlet技术处理Http请求

Servlet很重要的一个功能就是 实现和前端的数据交互,其中包括 接收前端传递的参数和给前端返回Http应答

前端参数传递形式:

? 因为通过HTTP请求,所以前端的数据可以放在头部也可以放在主体

? 前端传参的形式一般是 key1=value&key2=value

例如

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

get传参是将数据放在http头部, 是以字符串形式传参,受到URL地址的限制,不能超过1024字节

POST传参放在http body中.:

常用的传输内容类型:(content-type): appliction/json application/x-www-form-urlencoded.类get形式,将参数字符串进行urlencoded编码,放到Body中进行封装发送

multipart/form-data. 用来文件上传.同时传递二进制数据是

application/json.表示传递参数内容json字符串{“name”:“value1”,“pwed”:“value2”}.这个是目前前后端分离用的比较多的一种传输形式

Servlet

Servlet类:

? @Webservlet(“/”)

? public class test extends HttpServlet{

? doGet(HttpServletRequest req, HttpServletResponse resp)

}

Servlet类是需要部署到tomcat上的

tomcat如何部署:

打包成war包放在webapps下

将编译好的项目文件复制到 webapps下

Servlet的生命周期:

实例化

初始化

服务

销毁

注销用户:

invalidate()

Servlet如何返回结果:

重定向: HttpServletResponse.sendRedirect()

转发: RequestDispatcher.forward()

输出字符串:

? HttpServletResponse.getWriter

输出二进制数据:

? HttpServletResponse.getOutputStream()

Servlet如何获取参数:

request.getParameter(“key”)

过滤器

过滤器的应用领域:

角色权限管理,编码转换,数据清洗,日志管理

IOC控制反转的作用:

? 降低代码耦合度, 提高代码灵活性, 提供可扩展性

什么是控制反转?

将对象的创建和组装等细节交给Spring容器来管理,而不是程序代码控制

如何装配对象

基于xml 基于注解 基于Java配置类

输出字符串:

? HttpServletResponse.getWriter

输出二进制数据:

? HttpServletResponse.getOutputStream()

Servlet如何获取参数:

request.getParameter(“key”)

过滤器

过滤器的应用领域:

角色权限管理,编码转换,数据清洗,日志管理

IOC控制反转的作用:

? 降低代码耦合度, 提高代码灵活性, 提供可扩展性

什么是控制反转?

将对象的创建和组装等细节交给Spring容器来管理,而不是程序代码控制

如何装配对象

基于xml 基于注解 基于Java配置类

文章来源:https://blog.csdn.net/IDApprentice/article/details/135507436
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。