当前位置: 首页 > news >正文

给政府做网站的科技公司网站群发软件

给政府做网站的科技公司,网站群发软件,平台兼职网站开发,wordpress 作者归档简介 Request(请求) & Response(响应) 浏览器会向服务器发送请求数据,服务器也需要返回响应数据给浏览器,因此我们需要设置对应的类来代表请求数据和响应数据,且Servlet中的service方法就需…

简介

Request(请求) & Response(响应)

浏览器会向服务器发送请求数据,服务器也需要返回响应数据给浏览器,因此我们需要设置对应的类来代表请求数据和响应数据,且Servlet中的service方法就需要对应的请求数据和响应数据的参数

Request:存放请求数据,可以通过request对象来获取请求数据

Response:存放响应数据,可以通过response对象设置响应数据

Resquest

Request继承体系

1.Tomcat需要解析请求数据,封装为request对象,并且创建request对象传递到service方法中

2.Tomcat的实现类实现至HttpServletRequest接口,因此使用resquest对象时,可以查阅JavaEE API文档的HttpServletRequest接口

Resquest获取请求数据

获取请求数据

请求数据分为3部分:

1.请求行:

注:getRequestURL()返回的参数为StringBuffer类型,其他方法返回的参数均为String类型

2.请求头

该方法可以通过请求头的名称来得到对应的值

3.请求体

这两个方法分别会返回字节输入流和字符输入流,通过返回的输入流即可读取请求体

若请求体中为字符串信息,则使用字符输入流即可

若请求体中包含图片等信息,则需要使用字节输入流

通用方式获取请求参数

Request在得到请求数据后,会自动解析请求参数,如图,先将参数分离,再将名称和值分离,最后封装到Map集合中,且由于名称可能会重复,即键可能会重复,因此值为数组类型

Request对象提供相应的方法来得到请求参数

idea更改Servlet模板

在使用通用方式获取请求参数后,屏蔽了GET和POST的请求方式代码的不同,则代码可以定义为如下格式:

在idea中,当jar包中包含Servlet后,创建类时可以直接创建Servlet类,会自动继承相应的类,并且重写方法,但默认模板中方法中不包含任何内容,路径格式也和图片不同,因此可以更改模板的样式

方法如下:

请求参数中文乱码处理

请求参数中包含中文时会乱码

POST

POST获取请求参数时会获取一个字符输入流,并通过流来读取数据,而Tomcat默认该流的编码不是UTF-8,因此会出现中文乱码现象,更改默认流的编码即可

GET

乱码原因:

浏览器在得到中文数据后会使用UTF-8来对其进行URL编码,但Tomcat的解码为ISO_8859_1,且没有提供更改方式,因此导致乱码

解决方案:

可以将得到的乱码的数据编码成字节数组,在对字节数组进行解码

注:

1.图中使用的是编码方式的常量,有自动提示,也可以直接使用字符串来表示对应的编码方式

2.这个方法是通用方法,也适用POST

Tomcat 8.0 之后已经将GET请求乱码的问题解决,设置默认的解码方式为UTF-8

请求转发

请求转发(forward):一种在服务器内部的资源跳转方式

实现方式

该代码中只有资源B的路径需要修改

请求转发资源间共享数据

我们可以将一些数据通过Request对象从一个资源带到另一个资源

以上三个Request对象的方法,分别代表

将数据储存到request域中(需要提供一个字符串类型的键,和任意类型的值)

从request域中得到值(需要提供键名)

从request域中删除键值对(需要提供键名)

请求转发特点

1.浏览器地址栏路径不发生变化

2.只能转发到当前服务器的内部资源

3.一次请求,可以在转发的资源间使用request共享数据

Response

Response继承体系

Response设置响应数据

响应数据分为3部分:

1.响应行

2.响应头

3.响应体

Response完成重定向

重定向

重定向(Redirect):一种资源跳转方式

如图,浏览器向资源A发送请求,资源A向浏览器响应,告知需要重定向以及资源B的路径,浏览器再次向资源B发送请求

实现方式

如图,需要设置状态码为302来告知浏览器需要重定向,以及需要响应头中设置重定向的资源路径

可以简化成一行代码

重定向特点

1.浏览器地址路径发生变化(两次请求均由浏览器发出,地址为访问资源A,在访问后地址会变为资源B)

2.可以重定向到任意位置的资源(服务器内部、外部均可)

3.两次请求,不能在多个资源使用request共享数据

资源路径问题

在进行请求转发和重定向时,对应的资源B的路径一个需要加虚拟目录,一个不需要

标准:明确路径是谁在使用

浏览器使用:需要加虚拟目录(项目访问路径)

服务端使用:不需要加虚拟目录

例:

如图,分别为

超链接:由浏览器访问,加虚拟目录

表单:由浏览器发送,加虚拟目录

请求转发:在服务端内部使用,不加虚拟目录

重定向:由浏览器访问,加虚拟目录

由于可以在pom.xml中使用<configuration>下的<path>标签来修改虚拟路径的地址,因此在使用虚拟路径时,可以动态的获取虚拟目录,来降低代码的耦合性

响应字符数据

使用

1.通过Response对象获取字符输出流

2.写数据

注意事项

1.响应数据时可以响应标签,如:

在相应时会将“aaa”设置成标题1的形式

但是默认浏览器会将标签当作字符串来识别,因此需要设置对应的响应头,如图

该代码设置了响应头,届时浏览器会以html的解析引擎来解析响应数据

2.中文乱码

由于tomcat通过Response获取的字符输出流默认编码为:ISO-8859-1,因此输出中文时会乱码,可以通过下述方法解决

response.setContentType("text/html;charset=utf-8");

该方法可以同时设置响应头和流的编码,即该行代码可以同时解决识别标签和中文乱码的问题

3.得到的字符输出流不需要关闭,在响应结束后,response对象销毁,该流会随之关闭

响应字节数据

使用

1.通过response对象获取字节输出流

2.写数据

IOUtils工具类使用

可以通过该工具类快速完成复制等操作

1.导入坐标

2.使用

http://www.fp688.cn/news/155300.html

相关文章:

  • 威海做企业网站的公司网站整体优化
  • 投资理财网站建设可以推广发广告的app
  • 做爰片免费观看网站新闻实时报道
  • 拿p5.js做的网站元搜索引擎有哪些
  • 自适应网站怎么做今日头条网站推广
  • 给客户做网站 客户不付尾款搜索引擎案例分析结论
  • 大尺度做爰床视频网站教育机构退费纠纷找谁
  • 网站流量劫持怎么做seo排名首页
  • 小程序appsecret在哪里看优化营商环境条例解读
  • 温州最便宜网站建设网络优化工程师前景
  • 安康市建设规划局网站软文兼职10元一篇
  • 海南省建设局网站搜索seo培训费用
  • 10_10_微信里网站怎么做的关键词快速上首页排名
  • 做电影网站还是国外服务器安徽seo推广公司
  • 饭店的网站建设进行评价广告网站留电话
  • 网站怎么做参考文献广州网络科技有限公司
  • ps个人网页设计模板图片青岛seo青岛黑八网络最强
  • wordpress被跳转免费seo推广计划
  • 保定网站推广费用网络推广策划方案
  • 江北网站制作推文关键词生成器
  • 如何利用fortran语言建设网站谷歌网站推广
  • 南通网站建设优化百度站长平台app
  • 公司网站如何做全屏滚轮让百度收录自己的网站
  • 双语网站建设定制开发搜狗seo怎么做
  • 上海网站建设哪家公司好广州百度网站推广
  • 想做一个网站平台怎么做的今日搜索排行榜
  • 甘肃全省娱乐场所恢复经营如何优化网络环境
  • 网站前台的网址现在什么网络推广好
  • 做特殊原产地证的网站目前最火的推广平台
  • 歌曲做网站背景音乐 侵权如何推广网页