如此详细的 Servlet 教程,不来看看么?
文章目录
- 1. Servlet 程序
- 1.1 什么是 Servlet
- 1.2 如何手动创建实现 Servlet 接口
- 1.3 Servlet 的生命周期
- 1.4 如何通过 IDEA 快速创建 Servlet 程序
- 1.5 整个 Servlet 类的继承体系
- 2. ServletConfig 类
- 2.1 ServletConfig 类的三大作用
- 3. ServletContext 类
- 3.1 ServletContext 是啥
- 3.2 ServletContext 的作用
- 4. HTTP 协议
- 4.1 什么是 HTTP 协议
- 4.2 请求的 HTTP 协议格式
- GET 请求
- POST 请求
- 4.3 响应的 HTTP 协议格式
- 4.4 常用响应码
- 4.5 MIME 类型说明
- 5 HttpServletRequest 类
- 5.1 HttpServletRequest 类的作用
- 5.2 HttpServletRequest 类常用方法
- 5.3 POST 和 GET 请求方式的中文乱码问题
- 5.4 请求的转发
- 定义
- 特点
- 5.5 base 标签的作用
- 5.6 Web 中 / 的不同意义
- 6. HttpServletResponse 类
- 6.1 HttpServletResponse 的作用
- 6.2 两个输出流
- 6.3 如何向客户端回传数据及中文乱码
- 6.4 请求重定向
- 定义
- 特点
- 实现重定向的两种方式
- 资源下载
- 资源分类
- 部分资源截图
1. Servlet 程序
1.1 什么是 Servlet
- Servlet 是 JavaEE 规范(接口)之一
- Servlet 是 JavaWeb 三大组件之一,三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器
- Servlet 是运行在服务器上的 Java 小程序,用于 接收客户端发送的数据,同时响应给客户端
1.2 如何手动创建实现 Servlet 接口
-
首先编写一个类,用于实现 Servlet 接口
-
重写 service 方法,用于处理客户端请求,同时响应数据
package com.cunyu.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** Created with IntelliJ IDEA.* Version : 1.0* Author : 村雨遥* Email : cunyu1024@foxmail.com* Website : https://cunyu1943.github.io* 公众号 :村雨遥* Date : 2020/6/4 下午3:08* Project : JavaLearning* Package : com.cunyu.servlet* Class : HelloServlet* Desc : Hello 启动页*/
public class HelloServlet extends HttpServlet {/*** service 专门用于处理请求和响应的方法** @param req 请求* @param resp 响应* @throws ServletException* @throws IOException*/@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("Hello Servlet,My first Servlet App!");}
}
- 完成上述步骤后,去
web.xml
中配置 Servlet 接口的访问地址
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- 给 Tomcat 配置 Servlet 程序 --><servlet><!-- Servlet 程序别名(建议为类名) --><servlet-name>HelloServlet</servlet-name><!-- Servlet 程序的全类名 --><servlet-class>com.cunyu.servlet.HelloServlet</servlet-class></servlet><!-- 给 Servlet 程序配置访问地址 --><servlet-mapping><!-- 告诉服务器,当前配置的地址给哪个 Servlet 程序使用 --><servlet-name>HelloServlet</servlet-name><!-- 配置访问地址,表示地址为 http://ip:port/工程路径/hello --><url-pattern>/hello</url-pattern></servlet-mapping>
</web-app>
- 启动 Tomcat 在浏览器中访问
http://localhost:8080/servletTest/hello
,然后后台就会执行service()
方法
1.3 Servlet 的生命周期
- 执行 Servlet 构造器方法,只在第一次访问时创建 Servlet 程序会调用
- 执行
init
初始化方法,只在第一次访问时创建 Servlet 程序会调用 - 执行
service()
方法,每次访问均调用 - 执行
destory()
销毁方法,Web 工程停止时调用
1.4 如何通过 IDEA 快速创建 Servlet 程序
选中 src
目录或者要生成 Servlet 的包,然后单击鼠标右键,New -> Create New Servlet
,接着填写 Servlet 程序名,所属包以及 Servlet 全类名,同时 取消勾选 Java EE 6 即可,勾选则会生成注解式配置,后续学习过程中才会接触到。
点击生成之后,就会生成 Servlet 程序以及在 web.xml
中的配置。
1.5 整个 Servlet 类的继承体系
2. ServletConfig 类
从类名上就可以看出,ServletConfig 是一个配置信息类。Servlet 程序和 ServletConfig 对象均由 Tomcat 创建,而我们只要使用就可以了。此外,Servlet 程序默认是在第一次访问时就创建了,而 ServletConfig 对象则是每个 Servlet 程序创建时所对应创建。
2.1 ServletConfig 类的三大作用
- 获取 Servlet 程序的别名,即
web.xml
中配置的servlet-name
- 获取初始化参数,即
web.xml
中配置的init-param
- 获取 ServletContext 对象
加入我们的 web.xml
配置如下,然后就可以利用 初始化方法来获取上述三个值:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- 给 Tomcat 配置 Servlet 程序 --><servlet><!-- Servlet 程序别名(建议为类名) --><servlet-name>HelloServlet</servlet-name><!-- Servlet 程序的全类名 --><servlet-class>com.cunyu.servlet.HelloServlet</servlet-class><init-param><param-name>userName</param-name><param-value>root</param-value></init-param></servlet><!-- 给 Servlet 程序配置访问地址 --><servlet-mapping><!-- 告诉服务器,当前配置的地址给哪个 Servlet 程序使用 --><servlet-name>HelloServlet</servlet-name><!-- 配置访问地址,表示地址为 http://ip:port/工程路径/hello --><url-pattern>/hello</url-pattern></servlet-mapping></web-app>
package com.cunyu.servlet;import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** Created with IntelliJ IDEA.* Version : 1.0* Author : 村雨遥* Email : cunyu1024@foxmail.com* Website : https://cunyu1943.github.io* 公众号 :村雨遥* Date : 2020/6/4 下午3:08* Project : JavaLearning* Package : com.cunyu.servlet* Class : HelloServlet* Desc : Hello 启动页*/
public class HelloServlet extends HttpServlet {/*** service 专门用于处理请求和响应的方法** @param req 请求* @param resp 响应* @throws ServletException* @throws IOException*/@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("Hello Servlet,My first Servlet App!");}@Overridepublic void init(ServletConfig config) throws ServletException {super.init(config);System.out.println("初始化方法");
// 获取 Servlet 程序别名 servlet-nameSystem.out.println("别名:" + config.getServletName());
// 获取初始化参数 init-paramSystem.out.println("初始化参数:" + config.getInitParameter("userName"));
// 获取 ServletContext 对象System.out.println(config.getServletContext());}
}
3. ServletContext 类
3.1 ServletContext 是啥
-
ServletContext 是一个接口,用于表示 Servlet 上下文对象
-
ServletContext 对象是一个 域对象
-
每个 Web 工程只对应 一个 ServletContext 对象实例
-
每个 ServletContext 在 Web 工程部署启动时创建,然后在 Web 工程停止时销毁
3.2 ServletContext 的作用
- 获取
web.xml
配置中的上下文参数context-param
- 获取当前 Web 工程路径,如
/ServletTest
- 获取工程部署后在服务器的中的绝对路径,包括各种静态资源等路径
- ServletContext 是通过 键值对(Map) 一样存取数据
以下对上述 4 个作用进行实例介绍,首先在 web.xml
加入如下配置,然后通过程序来获取各种参数:
<!--context-param 是上下文参数,属于 Web 工程--><context-param><param-name>wechat</param-name><param-value>cunyu1943</param-value></context-param><servlet><servlet-name>ServletContextServlet</servlet-name><servlet-class>com.cunyu.servlet.ServletContextServlet</servlet-class></servlet><servlet-mapping><servlet-name>ServletContextServlet</servlet-name><url-pattern>/servletContext</url-pattern></servlet-mapping>
package com.cunyu.servlet;import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** Created with IntelliJ IDEA.* Version : 1.0* Author : 村雨遥* Email : cunyu1024@foxmail.com* Website : https://cunyu1943.github.io* 公众号 :村雨遥* Date : 2020/6/5 上午8:36* Project : JavaLearning* Package : ${PACKAGE_NAME}* Class : ${CLASS_NAME}* Desc : ServletContext 功能*/
public class ServletContextServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1. 获取上下文参数 context-paramServletContext servletContext = getServletContext();String url = servletContext.getInitParameter("url");System.out.println("URL 的值是:" + url);// 2. 获取工程路径System.out.println("工程路径:" + servletContext.getContextPath());// 3. 获取工程部署后服务器上的绝对路径
// 其中 / 被解析为:http://ip:port/工程名/ ,映射到 IDEA 代码的 web 目录System.out.println("工程部署绝对路径:" + servletContext.getRealPath("/"));// 4. 通过 键值对 存取数据,注意:ServletContext 属于 Web 工程,所以只要工程启动创建之后,Servlet 程序都能访问,直到关停 Web 工程System.out.println("ServletContext 对象:" + servletContext);
// 存数据servletContext.setAttribute("password", "1234567");
// 取数据System.out.println("password 的值是:" + servletContext.getAttribute("password"));}
}
4. HTTP 协议
4.1 什么是 HTTP 协议
协议 即指两方或多方通过一定协商约定后,大家都要遵守的规则,叫做协议。
而 HTTP 协议 ,即指 客户端和服务器之间互相通信时,发送数据时所需要遵守的规则,HTTP 协议中的数据又叫做 报文。
4.2 请求的 HTTP 协议格式
客户端向服务器发送数据的行为叫做 请求,而服务器向客户端回传数据的行为叫做 响应。
GET 请求
由 请求行 + 请求头 组成,其中 请求行 包括 请求的方式、请求的资源路径以及请求的协议版本号,而 请求头 则是由 key-value
对组成,不同键值对对应不同含义,具体请看如下图实例。GET 请求最常用的地方:
form
标签method=get
a
标签link
标签引入css
Script
标签引入js
img
标签引入图片iframe
引入 HTML 页面- 浏览器中地址栏输入地址后回车
POST 请求
POST 请求和 GET 的最大区别在于 请求头(即发送给服务器的数据),POST 由 请求行 + 请求头 + 请求体 组成,其中请求行与请求头的含义和 GET 请求的含义相同,而 请求头则是 POST 方式独有,具体含义如下,最常用的地方:
form
标签method=post
4.3 响应的 HTTP 协议格式
响应主要由 响应行 + 响应头 + 响应体 共同组成,响应行中又包括 响应的协议和版本号、响应状态码以及响应状态描述符,而 响应头则是同样由不同的键值对组成,响应体中则是回传给客户端的数据,具体看下边的示例:
4.4 常用响应码
响应码 | 说明 |
---|---|
200 | 请求成功 |
302 | 请求重定向 |
404 | 请求服务器已经收到,但需要的数据不存在(请求地址错误) |
500 | 服务器已经收到请求,但服务器内部错误(代码错误) |
4.5 MIME 类型说明
MIME 全称 多功能 Internet 邮件扩充服务 (Multipurpose Internet Mail Extension)
,是 HTTP 协议中的数据类型,格式是 大类型/小类型,并与某种文件扩展名相对应,最常见的 MIME 类型如下:
文件类型 | 文件扩展名 | MIME 类型 |
---|---|---|
超文本标记语言文本 | .html、.htm |
text/html |
普通文本 | .txt |
text/plain |
RTF 文本 | .rtf |
application/rtg |
GIF 图形 | .gif |
image/gif |
JPEG 图形 | .jpeg、.jpg |
image/jpeg |
au 声音文件 | .au |
audio/basic |
MIDI 音乐文件 | .mid、.midi |
audio/midi、audio/x-midi |
RealAudio 音乐文件 | .ra、.ram |
audio/x-pn-realaudio |
MPEG 文件 | .mpg、.mpeg |
video/mpeg |
AVI 文件 | .avi |
video/x-msvideo |
GZIP 文件 | .gz |
application/x-gzip |
TAR 文件 | .tar |
application/x-tar |
5 HttpServletRequest 类
5.1 HttpServletRequest 类的作用
当每次 Tomcat 服务器接收到来自浏览器的请求时,Tomcat 服务器都会把请求过来的 HTTP 协议信息解析好封装到 Request
对象中,然后传递到 service
方法(doGet
和 doPost
)供浏览器使用。而我们则可以通过 HttpServletRequest
对象获取到 所有请求的信息。
5.2 HttpServletRequest 类常用方法
方法 | 说明 |
---|---|
getRequestURI() |
获取请求的资源路径 |
getRequestURL() |
获取请求的统一资源定位符(绝对路径) |
getRemoteHost() |
获取客户端的 ip |
getHeader() |
获取请求头 |
getParameter() |
获取请求的参数 |
getParameterValues() |
获取请求的参数(多个值) |
getMethod() |
获取请求的方式 GET 或 POST |
setAttribute(key, value) |
设置域数据 |
getAttribute(key) |
获取域数据 |
getRequestDispatcher() |
获取请求转发对象 |
5.3 POST 和 GET 请求方式的中文乱码问题
当以 POST 或 GET 方式请求时,遇到中文可能会出现乱码,对应解决方法如下:
- POST 方式:直接将请求体的字符集设置为 UTF-8 即可
- GET 方式:先以 iso8859-1 进行编码,然后再以 UTF-8 进行解码
package com.cunyu.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** Created with IntelliJ IDEA.* Version : 1.0* Author : 村雨遥* Email : cunyu1024@foxmail.com* Website : https://cunyu1943.github.io* 公众号 :村雨遥* Date : 2020/6/6 下午9:18* Project : JavaLearning* Package : ${PACKAGE_NAME}* Class : ${CLASS_NAME}* Desc : 获取请求参数中文乱码问题*/
public class ParameterServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// POST 中文乱码,设置请求体字符集 UTF-8,要在获取参数前调用req.setCharacterEncoding("UTF-8");System.out.println(req.getParameter("hobby"));}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");String password = request.getParameter("password");// GET 中文乱码
// 先以 iso8859-1 进行编码
// 然后以 UTF-8 进行解码username = new String(username.getBytes("ISO-8859-1"), "UTF-8");System.out.println("用户名:" + username);System.out.println("密码:" + password);}
}
5.4 请求的转发
定义
请求的转发即 当服务器收到来自客户端的请求时,从一个资源跳转到另一个资源的操作。
特点
- 地址栏未变
- 属于一次请求
- 共享 Request 域中的参数
- 可以转发到 WEB-INF 目录下
- 不能访问工程之外的资源
5.5 base 标签的作用
用于设置页面相对路径工作时参照的路径,参照某一地址进行跳转。
<base href="https:cunyu1943.github.io">
5.6 Web 中 / 的不同意义
在 Web 中 / 是一种绝对路径,若 被浏览器解析,则得到的地址是 :http:/ip:port/
;若 被服务器解析,则得到的地址是:http://ip:port/工程路径
。
注意: response.sendRedirect("/");
,表示将 / 发送给浏览器解析,得到 http://ip:port/
6. HttpServletResponse 类
6.1 HttpServletResponse 的作用
同 HttpServletRequest
类一样,当每次来自客户端的请求进来时,服务器都会创建一个 Response
对象,然后传递给 Servlet 程序使用。HttpServletRequest
表示请求过来的信息,HttpServletResponse
则表示所有响应的信息。 当设置服务器返回给客户端信息时,通过 HttpServletResponse
对象进行。
6.2 两个输出流
输出流分为 字节流和字符流,两者对应的方法和功能如下表所示,当我们使用时,只能同时使用其中之一 。
输出流类型 | 方法 | 功能 |
---|---|---|
字节流 | getOutputStream() |
常用于下载(传递二进制数据) |
字符流 | getWriter() |
常用于回传字符串 |
6.3 如何向客户端回传数据及中文乱码
通常我们需要向客户端回传数据,如果是回传字符串等数据,我们可以使用 字符流方法 getWriter()
。
public class ResponseIOServlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpSevletResponse resp) throws ServletException, IOException{// 向客户端回传 字符串 数据PrintWriter writer = resp.getWriter();writer.write("response's content!!!");}
}
但当我们回传中文时,可能会出现乱码问题,为了解决这一问题,通常有两种解决方案:
- 设置服务器字符集为 UTF-8,同时通过响应头设置浏览器也使用 UTF-8 字符集
// 设置服务器字符集
resp.setCharacterEncoding("UTF-8");
// 通过响应头设置浏览器字符集
resp.setHeader("Content-Type", "text/html;charset=UTF-8");
- 同时设置服务器和客户端均使用 UTF-8 字符集,但是必须在获取流对象之前调用,更为推荐
// 同时设置服务器和客户端字符集
resp.setContentType("text/html;charset=UTF-8")
6.4 请求重定向
定义
请求重定向是 指客户端给服务器发送请求,然后服务器回传给客户端一些地址,然客户端去访问。之所以叫做重定向,是因为之前的地址可能已经被废弃。
特点
- 地址栏变化
- 两次请求
- 不共享 Request 域中数据
- 不能重定向到 WEB-INF 目录下资源
- 能访问工程外的资源
实现重定向的两种方式
- 设置响应状态码 302 表示重定向,然后通过设置响应头说明新地址
// 设置响应状态码
resp.setStatus(302);
// 通过设置响应头,说明新地址
resp.setHeader("Location", "https://cunyu1943.github.io");
- 直接使用
sendRedirect()
方法设置新地址即可,更为推荐
resp.sendRedirect("https://cunyu1943.github.io");
资源下载
建议关注公众号 村雨遥,文章会优先发布在此处,此外还有 超多精品资源 等着你。
资源分类
部分资源截图
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 学用Lotus办公——电子邮件系统的创建
电子邮件是Lotus Notes系统中最为强大的功能之一,在Lotus Notes系统中创建的电子邮件系统,不仅可以在Notes邮件系统间互通信息,还可以实现Notes用户与使用其他电子邮件产品(如:Microsoft Exchange)的用户之间电子邮件通信。使用Lotus Notes电子邮件系统用户不但可以与局域…...
2024/4/18 13:11:00 - 用pandas处理大数据———减少90%内存消耗的小贴士
原文地址https://www.dataquest.io/blog/pandas-big-data/一般来说,用pandas处理小于100兆的数据,性能不是问题。当用pandas来处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败。当然,像Spark这类的工具能够胜任处理100G至几个T的大数据集,但要…...
2024/4/19 14:06:57 - tcpdump使用时tcp三次握手抓包,ack置1的一些说明
在使用tcpdump抓包的时候,发现tcp的三次握手,第三次的时候竟然将ack置1了,百思不得其解,难道是现在tcp的协议变了吗,让我困惑不已,直接上结果 [root@www test_cpp]# tcpdump -i any port 53 -nn -v tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capt…...
2024/4/20 7:25:03 - Servlet详细教程
如需更多java视频教程资源、面试资源、Java项目资源,请关注公众号:最高权限比特流,回复“java”获取! Servlet简介 servlet是Server Applet的简称,翻译过来就是服务程序.好吧,这么说你可能还是不太懂,简单的讲,这个servlet是运行在服务器上的一个小程序,用来处理服务…...
2024/4/17 17:07:04 - 【181010】VC++ 大富翁4_大富翁游戏源码
大富翁4 VC++源代码,大富翁游戏黑盒测试,实现《大富翁-4》一些基本功能。如:人物行走、买地、特殊人物实现、人物投资、股票买卖、各种功能卡片、道具的实现。本下载包内包括大富翁4 VC++源代码、测试报告、需求分析报告、大富翁设计概要.ppt、类图.vsd等。为使用VC++开发游…...
2024/4/19 20:31:24 - windows 下搭建邮件服务器
1、先做DNS的配置因为要用到DNS对邮件服务器作域名解析,所以要创建一个DNS! 2、DNS的安装:开始菜单->管理工具->管理报务器;在弹出的界面上点击安装DNS服务器就行了!3、DNS的打开:开始菜单->管理工具->DNS;点击就能打开了!4、DNS的配置:在配置界面上-&g…...
2024/4/17 17:07:04 - tcp三次握手示意图
...
2024/4/26 16:05:53 - C语言实践之推箱子游戏思路与代码
直入正题 推箱子的基本实现思路就是 1.首先绘制一个地图 有箱子,人,目的地,墙 2.实现人的基本移动 3.实现人推箱子和箱子与目的地重合首先是1 绘制地图就用二维Int数组就好,不同的数代表不同的东西2 用kbhit()函数检测按键 然后若有方向键按下则改变数组中的数字重新绘制地图…...
2024/4/18 14:16:54 - servlet学习笔记(一)之servlet入门教程
一、知识准备servlet 是在服务器上运行的小程序,一个 servlet 就是一个 Java 类,并且可以通过 “请求 - 响应” 编程模式来访问这个驻留在服务器内存里面的 servlet 程序tomcat 容器等级以及 servlet 的位置 二、编写 servlet继承 HTTPServlet,在创建时,直接指定父类 重写 …...
2024/4/17 17:07:28 - PHP实现邮件的自动发送
最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送。下面用qq邮箱作为演示,一步一步来解释: 代码下载地址 首先,就是做到邮件的发送,代码如下: <?php//邮件发送require ./mailer/class.phpmailer.php;require ./mailer/class.smtp.php;date_default_timezo…...
2024/4/17 17:06:11 - Visual C++的免费的内存泄露检测工具-Visual Leak Detector
文章参考:http://www.codeproject.com/KB/applications/visualleakdetector.aspx http://hi.baidu.com/liujia_310/blog/item/898fa510116585fbc3ce79e0.html//////////////////////////////////////////////////////////////////////////////////////////////////////////////…...
2024/4/17 17:09:34 - Servlet详细教程(一)
一、Servlet概述1) java web目录结构2)Tomcat 目录结构3)Servlet 接口Servlet 是一种实现了 javax.servlet.Servlet 接口的类。Servlet 接口规定了特定的方法来处理特定的请求,开发者只需要实现 Servlet的相关方法,用户访问Web 程序的时候,Tomcat会调用这些方法完成业务处…...
2024/4/11 18:38:34 - 连连看——C++简单小游戏
连连看(本次只处理了0转弯和1转弯的情况,2个转弯的情况还没有解决)连连看的规则大家可能都知道,这里的就不重复废话了。 这个游戏实现的特别LOW,不过没办法本人能力有限,正在努力的学习以完善这个游戏。 代码比较简单,注释代码中都有,我就不做详细的介绍了,相信以你的…...
2024/4/18 4:44:09 - TCP的三次握手和四次断开过程
一、TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers)第二次握手:服务器收到syn包,必须确认客…...
2024/4/21 17:13:13 - 最新国外极品后台管理系统模板ace admin v1.3,多种开发语言可用,HTML5+Bootstrap3.0
原文:最新国外极品后台管理系统模板aceadmin v1.3,多种开发语言可用,HTML5+Bootstrap3.0源代码下载地址:http://www.zuidaima.com/share/1880217184685056.htmNew version (v1.3) released: Upgraded Bootstrap & all plugins to their latest versionMultiple fixes a…...
2024/4/18 9:34:59 - 深入浅出nodejs学习笔记--第五章 内存控制
首先声明一下,这个内存控制指的是V8引擎的内存控制,听起来很高大上,平时web开发可能不会去考虑浏览器的内存控制机制,但是其实我们在学习js的时候就有多少了解到垃圾回收和内存监控这相关的知识。Js的垃圾回收机制和内存控制在《JavaScript高级程序设计》(第三版)里也有提…...
2024/4/17 17:07:05 - tcp 三次握手和四次断连深入分析:连接状态和socket API的关系
说到tcp协议,凡是稍微看过的人都能顺口说出三次握手和四次断连,再牛逼的一点的就能够把每个状态(SYNC_SENT、CLOSE_WAIT。。。。。。等)都能背出来,而说道socket编程,基本上写过网络编程的人都会熟悉那几个标准的API:socket、connect、listen、accept。。。。。。等但是…...
2024/4/22 14:59:39 - 邮件传输过程,MUA,MTA,MDA的概念
大致了解了DNS与邮件服务器之间的关系后,接下来我们介绍邮件到底是如何传送到目的邮件主机的。下面我们分成“寄信”与“收信”两个主要的邮件服务器使用方式进行介绍。先说明关于“寄信”的部分。通常我们都是使用桌面计算机来寄信,如果你以Netscape或者Kmail或者OutLook Ex…...
2024/4/22 14:59:32 - Java Servlet完全教程
本文来自Java Servlet完全教程Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求。尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求。 Servlet必须部署在Java servlet容器才能使用。虽然很多开发者都使用Java Server Pages(J…...
2024/4/17 17:09:10 - TCP三次握手(建立连接)与四次挥手(释放连接)详解
上图画出了TCP的建立连接的过程。假定主机A运行的是TCP客户程序,而B运行TCP服务程序。最初两端的TCP进程都处于 CLOSED(关闭)状态。图中在主机下面的方框分别是TCP进程所处的状态。请注意,A主动打开连接,而B被动打开连接。B的TCP服务器进程先创建传输控制块TCB(Transmiss…...
2024/4/17 17:08:10
最新文章
- 【统计推断】-01 抽样原理之(四):中心极限定律
文章目录 一、说明二、样本均值的抽样分布三、两个重要公理四、中心极限定理4.1 定义4.2 中心极限定理的特点4.3 中心极限定理的条件 五、一个举例5.1 一个连续分布示例5.2 样本容量变化的对比 六、结论 关键词: Central Limit Theorem Law of Large Numb…...
2024/5/1 1:54:44 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - Finetuned Language Models Are Zero-Shot Learners
Abstract 本文探索了一种简单的方法来提升语言模型的零样本(zero-shot)学习能力。我们发现 指令微调(instruction tuning) 显著提高了未见任务的零样本性能。 指令微调:即在一组通过指令描述的数据集上对模型进行微调我们对一个 137B 参数的预训练模型在 60 个 NLP 任务上…...
2024/4/30 10:28:48 - 实验二 pandas库绘图以及数据清洗
1.1pandas验证操作 1、验证以下代码,并将结果附截图 import pandas as pd A[1,3,6,4,9,10,15] weight[67,66,83,68,79,88] sex[女,男,男,女,男, 男] S1pd.Series(A)#构建S1序列 print(S1) S2pd.Series(weight)#构建S2序列 print(S2) S3pd.Series(sex)#构建S3序列 p…...
2024/4/29 1:01:43 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/29 23:16:47 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/30 18:14:14 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/30 18:21:48 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/30 9:43:22 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57