重温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 ...
随机推荐
- MySQL安装及初步配置.md
MySQL 安装脚本 #!/bin/bash MYSQL_BASEDIR=/usr/local/mysql MySQL_DATADIR=/data/mysql SERVER_ID=`hostname ...
- Java 回调函数例子
首先定义一个类Caller,按照上面的定义就是程序员A写的程序a,这个类里面保存一个接口引用. public class Caller { private MyCallInterface callIn ...
- Python高级网络编程系列之第一篇
在上一篇中我们简单的说了一下Python中网络编程的基础知识(相关API就不解释了),其中还有什么细节的知识点没有进行说明,如什么是TCP/IP协议有几种状态,什么是TCP三次握手,什么是TCP四次握 ...
- Zookeeper入门(三)之工作流
一旦ZooKeeper集合启动,它将等待客户端连接.客户端将连接到ZooKeeper集合中的一个节点.它可以是leader或follower节点.一旦客户端被连接,节点将向特定客户端分配会话ID并向该 ...
- [转]用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口
原文链接: 1.用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口 2.Windows MFC 两个OpenGL窗口显示与线程RC问题
- OpenCV——直方图计算、寻早最值位置和对比匹配(判断两幅图的相似程度)
- Python2.7-hmac
hmac 模块,基于密钥的哈希算法 1.模块对象 1.1 HMAC 对象 1.1.1 初始化构建类:需要通过模块方法 hmac.new(key[, msg[, digestmod]]) 创建一个新对象 ...
- 【转】python直接运行tcl脚本
python中调用tcl是通过加载TkInter来实现的. from Tkinter import Tcl tcl = Tcl() tcl.eval('source tu.tcl') tcl.eval ...
- lucas定理的证明
http://baike.baidu.com/link?url=jJgkOWPSRMobN7Zk4kIrQAri8m0APxcxP9d-C6qSkIuembQekeRwUoEoBd6bwdidmoCR ...
- 配置Docker镜像加速器
由于在国内下载docker官方镜像的速度很慢且容易报错,因此需要配置docker镜像加速器来解决这个问题,加速器就是镜像代理的概念,只代理公有镜像,报错结果如下: net/http: request ...