重温servlet③
请求转发 forward 仅有一个请求 至少两个servlet
前一个的响应头保留着,但是响应体不保留了。
设置响应体太大,会报错
请求包含Include 都包含,响应头和响应体都会保留着
Request域
在两个servlet通过转发或者包含的时候设置其参数。
SetAttribute
GetAttribute
RemoveAttribute
请求转发与重定向的区别
- 请求转发是请求一次响应,而重定向是两次请求两次响应。
- 请求转发地址栏不变化,而请求重定向会显示后一个请求的地址。
- 请求转发只能发到本项目其他的servlet,而重定向不只能重定向到本项目的其他servlet中,还能定向到其他项目。
- 请求转发是服务器端行为,只需给出转发的servlet的路径,而重定向需要给出requestURI,即包含项目名。
响应编码
Iso-8859-1 拉丁文编码 不支持中文
Gbk 中国国标 gb2312
Utf-8万国码 ,支持全世界所有的字符都可以。
乱码问题
在Getwriter之前输入
Response.setconType("text/html;charset=utf-8");
页面请求编码 就是页面的编码
适用post方法是需要在getparameter之前设置request.setchar
|
public throws ServletException, IOException { /** * 1.先获取传递过来的参数 重编 */ String name =request.getParameter("username"); byte[]b=name.getBytes("iso-8859-1"); name=new System.out.println(name); }
public throws ServletException, IOException { /** * 在获取参数之前需要先调用request的setcharterEncoding("utf-8") */ request.setCharacterEncoding("utf-8"); String name=request.getParameter("username"); System.out.println(name); }
} |
url乱码
|
@Test public String name="张三"; byte[]b=name.getBytes("utf-8"); System.out.println(Arrays.toString(b));
String s=URLEncoder.encode(name,"utf-8"); System.out.println(s); System.out.println(URLDecoder.decode(s, "utf-8"));
} |
重温servlet③的更多相关文章
- 重温Servlet学习笔记--session对象
session的类型是属于HttpSession,HttpSession是由javaWeb提供的,用来会话跟踪的类.session是服务器端对象,保存在服务器端. HttpSession是servle ...
- 重温Servlet学习笔记--Cookie对象
首先要了解cookie必须得先了解http协议,,Cookie是http协议指定的,先由服务器保存cookie到浏览器,在下次浏览器请求服务器时把上次请求得到的cookie归还给服务器,cookie以 ...
- 重温Servlet学习笔记--request对象
request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...
- 重温Servlet学习笔记--response对象
在用户浏览网页时,服务器对于客户端浏览器做出的响应被封装成一个HttpServletResponse对象,要对浏览器操作只需要操作这个response对象即可.response的功能分类及介绍: 响应 ...
- 重温Servlet学习笔记--servletContext对象
一个项目中只有一个ServletContext对象,我们可以在多个servlet中获取这个唯一的对象,使用它可以给多个servlet传递数据,我们通常成servletContext为上下文对象.这个对 ...
- 重温servlet②
重定向:我给服务器请求一条消息,服务器让我访问另外一个服务器(新的地址).302状态码,并设置location头,完成重定向.两个请求. package com.pcx.servlets; imp ...
- 重温servlet①
Servlet是单例的,是线程不安全的.比较灵活,但是容易会使两个线程产生错误 类由我们自己来写,对象由服务器生成,方法由服务器自己调用. 一个servletconfig对象对应着一段web.xm ...
- 重温Servlet学习笔记--编码问题
在说编码问题之前,首先先了解一下常见的字符编码: ISO-8859-1: 拉丁编码,不支持中文 gbk,gb2312,gb18030:系统默认编码,是中国的国标码 utf-8: 支持几乎所有语言的编 ...
- 重温 JSP 与 Servlet
Java Web使用SSH框架多了,很多基础的 JSP 与 Servlet 的东西都忘记了.最近在 JSP 标签 和 Struts2 包装的 Session 对象的混合使用时弄晕了,就翻书温习下. J ...
随机推荐
- JS内置对象-String对象、Date日期对象、Array数组对象、Math对象
一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义 ...
- 单一事件中心管理组件通信( vuex )
有时候两个组件也需要通信(非父子关系).在简单的场景下,可以使用一个空的 Vue 实例作为中央事件总线: 补充$emit ,$on的讲解 代码: <!DOCTYPE html> <h ...
- MySQL keepalived 双主.md
MySQL keepalived 双主搭建 环境说明 系统 IP 主机名 mysql keepalived VIP CentOS 6.8 192.168.197.61 C6-node1 5.6.36 ...
- Odoo Model内容详解
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9390688.html 一:Odoo模型属性 1:_name 模型的唯一标识:如果没有继承其他模型 ...
- jumperserver docker部署
最近在考虑 系统安全问题,jumperserver 用docker 部署比较简单1. 安装redis2.安装mariadb create database jumpserver charset='ut ...
- [luogu2469] 星际竞速
题面 巨佬一眼就能看出这是最小路径覆盖, 我这个蒟蒻还是太弱了... 我们可以知道跳跃值为点权w[i], 两点之间距离为边权ww 对于每个点, 在最小路径覆盖问题中, 假设每个点都是一条路 ...
- day3-课堂笔记
函数有2种: 1种是有返回值的,不改变对象本身 1种是没有返回值的,改变对象本身 eval函数就是实现list.dict.tuple与str之间的转化(只能把类似格式的字符串进行相应转换)str函 ...
- 客户端本地存储的比较及使用window.name数据传输
一:cookie: 1. 什么是cookie? Cookie是在客户端用于存储会话信息的,用户请求页面在web服务器与浏览器之间传递.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cooki ...
- C# 匿名类型var
格式: var 名字=new {字段赋值}:c#中只是作为推断,根据赋值推断出类型,隐式类型 var. 隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型. 1)var类 ...
- 微信小程序开发 [00] 写在前面的话,疯狂唠唠
我总是喜欢在写东西之前唠唠嗑,按照惯例会在博文的开篇写这么一段"写在前面的话",这次却为了这个唠嗑单独开了一篇文,大概预想着要胡说八道的话有点多. 前段时间突然对小程序来了兴趣,说 ...