逆水行舟之servlet学习第三天_SmallScorpion的博客-程序员秘密

技术标签: 其它模块化学习  servlet  

一、HTTP协议

1. 请求消息:客户端发送给服务器端的数据,数据格式:

  	1.  请求行
  	2.  请求头
  	3.  请求空行
  	4.  请求体

2. 响应消息:服务器端发送给客户端的数据,数据格式:

  1. 响应行
    |-. 组成:协议/版本 响应状态码 状态码描述
    |- 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。

  2. 响应头:
    |- 格式:头名称: 值
    Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式
    Content-disposition:服务器告诉客户端以什么格式打开响应体数据

  3. 响应空行

  4. 响应体:传输的数据

二、Response

1. 重定向方式一:

		response.setStatus(302);
        // 获取路径
        String path = request.getContextPath();
        response.setHeader("location",path+ "/ServletB");

2. 重定向方式二:

		String path = request.getContextPath();
        response.sendRedirect(path +"/ServletB");
        

三、ServletContext

1. ServletContext:代表整个web应用,可以和程序的容器(服务器)来通信

request.getServletContext().setAttribute("username","Lili");
			. 

2. 从另一个servlet获取
在这里插入图片描述

四、文件下载案例

1. 创建一个文件c.txt,放到web同目录下,也可以放在自定义的resources资源下
在这里插入图片描述
2. 编写servlet
在这里插入图片描述
3. 测试
在这里插入图片描述
补充:
状态码:

  1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
  2. 2xx:成功。代表:200
  3. 3xx:重定向。代表:302(重定向),304(访问缓存)
  4. 4xx:客户端错误。
    代表:
    * 404(请求路径没有对应的资源)
    * 405:请求方式没有对应的doXxx方法
  5. 5xx:服务器端错误。代表:500(服务器内部出现异常)

Learn to live:

要让别人喜欢你,你就得先喜欢别人,对他人感兴趣的事情感兴趣,才能使他人对自己感兴趣,这就是人与人的交往(卡耐基《人性的弱点》)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40180229/article/details/98961514

智能推荐

Vagrant操作命令(Vagrant安装虚拟机)_more vagrant 命令_心灵Haven的博客-程序员秘密

引用参考11.下载centos7的 virtural-box 镜像官方镜像地址:https://app.vagrantup.com/boxes/search官方镜像地址:https://app.vagrantup.com/centos/boxes/7第三方镜像地址:http://www.vagrantbox.es/2. Vagrant命令详解命令 作用vagrant box add 添加box的操作vagrant init 初始化box的操作,会生成vagrant的配置文件Vag

git 如何下载单个文件夹或者单个文件_git 下载一个文件_luguanyou的博客-程序员秘密

我们经常会遇到这种情况,如果用git clone 下载全部,有很多是不需要的,浪费时间。现在我想介绍一种方法可以快速下载单个你想要的文件夹。点击这个链接就可以轻松下载单个文件夹git下载单个文件夹    ...

程序员面试100题之五:二叉树两个结点的最低共同父结点_iteye_15898的博客-程序员秘密

题目:二叉树的结点定义如下: struct TreeNode { int m_nvalue; TreeNode* m_pLeft; TreeNode* m_pRight;};输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。 分析:求数中两个结点的最低共同结点是面试中经常出现的一个问题。这个问题至少有两个变种。 第一变种是二叉树是一种特殊的二叉树:查...

获取当前进程执行程序完整路径_进程中获取自身进程路径_五月525的博客-程序员秘密

GetModuleFileName( __in_opt HMODULE hModule, __out_ecount_part(nSize, return + 1) LPCH lpFilename, __in DWORD nSize );该函数用于获取当前进程运行的.exe或者.dll的完整路径。参数1:获取到的.exe或者DLL的句柄,一般为NUL...

hdu1052-田忌赛马_c++赛马是一项古老的运行,我们都听说过“田忌赛马”的故事。现在有甲、乙两队各出_爱篮球爱IT的博客-程序员秘密

Problem DescriptionHere is a famous story in Chinese history."That was about 2300 years ago. General Tian Ji was a high official in the country Qi. He likes to play horse racing with the king an

【Bootstrap-插件使用】Jcrop+fileinput组合实现头像上传功能_weixin_33754065的博客-程序员秘密

作者:Dreawer链接:https://zhuanlan.zhihu.com/p/24465742来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:梦游的龙猫(转载已获得作者许可)很久没有更新博客了,再不写点东西都烂了。这次更新一个小内容,是两个插件的组合使用,实现头像上传功能。业务需求:头像上传功能,要对上传的文件进行剪切,...

随便推点

win10 Linux双系统教程,win10+ubuntu双系统超详细教程(亲测可用)_美可琼杰的博客-程序员秘密

1、先安装windows10系统注意:若原有的win10系统没有损坏,则能够省略这一步。html关于Windows10系统重装,您须要准备一个8G以上容量u盘和一台能够正常上网的电脑,并按照如下步骤操做:1 备份电脑和U盘中本身的重要数据,并格式化u盘ubuntu2 在电脑上打开如下连接,点击当即下载工具,将微软官方Win10镜像工具下载到电脑桌面:https://dell.to/2WQh1ASw...

狠人 Spring Cloud 20000 字总结!_普通网友的博客-程序员秘密

点击上方“程序员知识码头”,选择“设为星标”回复”666“获取新整理的面试资料来源:juejin.im/post/5de2553e5188256e885f4fa3首先我给大家看一张图,如...

后缀html怎样转换,html格式转换成doc_刘洛希的博客-程序员秘密

问题补充:回一楼。目前我就是想打开html文档,然后再另存为doc格式文档,但效果非常不理想。//打开文件object fileName = @"c:\1.html";object objMissing = Missing.Value;object fileFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument;Mi...

SpringBoot单元测试模板代码_springboot单元测试用例模板_仰望星空的尘埃的博客-程序员秘密

一、依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version></dependency>二、新建测试基础类SpringBaseWithCustomizeRunnerTestimpo.

python绘制三维图形_python图形_熄灯看报的博客-程序员秘密

import mathimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as npx=[i for i in range(1,100,1)]# print(x)y=[0.01*(i*math.log2(2*i/100)+(100-i)*math.log2(2*(100-i)/100)) for i in x]# y=[2*i for i in x]# plt.plot(y)#

推荐文章

热门文章

相关标签