重温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 ...
随机推荐
- Flume学习之路 (三)Flume的配置方式
一.单一代理流配置 1.1 官网介绍 http://flume.apache.org/FlumeUserGuide.html#avro-source 通过一个通道将来源和接收器链接.需要列出源,接收器 ...
- Qt Creator无法debug,报错:The selected debugger may be inappropriate for the inferior. Examining symbols and setting breakpoints by file name and line number may fail. The inferior is in the Portable ...
看到这个报错我是绝望的 解决:下载windows sdk win10 sdk 只安装Debugging Tools for Windows 打开 工具-选项-Kits 安装sdk成功后我们可以看到 ...
- OpenCV——凸包
#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespac ...
- Android放大镜效果的简单实现
package com.example.myapi.pictobig; import com.example.myapi.R; import android.content.Context; impo ...
- Python中 __init__的通俗解释?附修饰器contextmanager的理解
作者:匿名用户链接:https://www.zhihu.com/question/46973549/answer/103805810来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- day79
昨日回顾 昨日回顾: cookie: -是什么?存储在客户端浏览器上的键值对 -干啥用的?记录状态 -django中使用: -设置值: -HttpResponse对象,obj.set_cookie(k ...
- Java基础—基础语法与常用命令
一.基础语法 1.case不加break会有穿透效果 根据阿里规范,严禁省略default语句,即使它一句话也没有 2.for循环执行顺序: for(初始化1;条件2;迭代运算3){ 循环体4: } ...
- 浅谈Spring中的事务回滚
使用Spring管理事务过程中,碰到过一些坑,因此也稍微总结一下,方便后续查阅. 1.代码中事务控制的3种方式 编程式事务:就是直接在代码里手动开启事务,手动提交,手动回滚.优点就是可以灵活控 ...
- EZ 2018 03 30 NOIP2018 模拟赛(六)
链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...
- mapreduce中控制mapper的数量
很多文档中描述,Mapper的数量在默认情况下不可直接控制干预,因为Mapper的数量由输入的大小和个数决定.在默认情况下,最终input占据了多少block,就应该启动多少个Mapper.如果输入的 ...