请求转发 forward 仅有一个请求 至少两个servlet

前一个的响应头保留着,但是响应体不保留了。

设置响应体太大,会报错

 

请求包含Include 都包含,响应头和响应体都会保留着

 

Request域

在两个servlet通过转发或者包含的时候设置其参数。

SetAttribute

GetAttribute

RemoveAttribute

 

请求转发与重定向的区别

  1. 请求转发是请求一次响应,而重定向是两次请求两次响应。
  2. 请求转发地址栏不变化,而请求重定向会显示后一个请求的地址。
  3. 请求转发只能发到本项目其他的servlet,而重定向不只能重定向到本项目的其他servlet中,还能定向到其他项目。
  4. 请求转发是服务器端行为,只需给出转发的servlet的路径,而重定向需要给出requestURI,即包含项目名。

 

响应编码

Iso-8859-1 拉丁文编码 不支持中文

Gbk 中国国标 gb2312

Utf-8万国码 ,支持全世界所有的字符都可以。

 

乱码问题

在Getwriter之前输入

Response.setconType("text/html;charset=utf-8");

 

页面请求编码 就是页面的编码

 

适用post方法是需要在getparameter之前设置request.setchar

    public
void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        /**

         * 1.先获取传递过来的参数

重编

         */

        String name =request.getParameter("username");

        byte[]b=name.getBytes("iso-8859-1");

        name=new
String (b,"utf-8");

        System.out.println(name);

    }

 

    public
void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        /**

         * 在获取参数之前需要先调用request的setcharterEncoding("utf-8")

         */

        request.setCharacterEncoding("utf-8");

        String name=request.getParameter("username");

        System.out.println(name);

    }

 

}

 

url乱码

    @Test

    public
void f1() throws UnsupportedEncodingException{

        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③的更多相关文章

  1. 重温Servlet学习笔记--session对象

    session的类型是属于HttpSession,HttpSession是由javaWeb提供的,用来会话跟踪的类.session是服务器端对象,保存在服务器端. HttpSession是servle ...

  2. 重温Servlet学习笔记--Cookie对象

    首先要了解cookie必须得先了解http协议,,Cookie是http协议指定的,先由服务器保存cookie到浏览器,在下次浏览器请求服务器时把上次请求得到的cookie归还给服务器,cookie以 ...

  3. 重温Servlet学习笔记--request对象

    request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...

  4. 重温Servlet学习笔记--response对象

    在用户浏览网页时,服务器对于客户端浏览器做出的响应被封装成一个HttpServletResponse对象,要对浏览器操作只需要操作这个response对象即可.response的功能分类及介绍: 响应 ...

  5. 重温Servlet学习笔记--servletContext对象

    一个项目中只有一个ServletContext对象,我们可以在多个servlet中获取这个唯一的对象,使用它可以给多个servlet传递数据,我们通常成servletContext为上下文对象.这个对 ...

  6. 重温servlet②

    重定向:我给服务器请求一条消息,服务器让我访问另外一个服务器(新的地址).302状态码,并设置location头,完成重定向.两个请求. package com.pcx.servlets;   imp ...

  7. 重温servlet①

    Servlet是单例的,是线程不安全的.比较灵活,但是容易会使两个线程产生错误 类由我们自己来写,对象由服务器生成,方法由服务器自己调用.   一个servletconfig对象对应着一段web.xm ...

  8. 重温Servlet学习笔记--编码问题

    在说编码问题之前,首先先了解一下常见的字符编码: ISO-8859-1:  拉丁编码,不支持中文 gbk,gb2312,gb18030:系统默认编码,是中国的国标码 utf-8: 支持几乎所有语言的编 ...

  9. 重温 JSP 与 Servlet

    Java Web使用SSH框架多了,很多基础的 JSP 与 Servlet 的东西都忘记了.最近在 JSP 标签 和 Struts2 包装的 Session 对象的混合使用时弄晕了,就翻书温习下. J ...

随机推荐

  1. 【Android自动化】unittest测试框架关于用例执行的几种方法

    # -*- coding:utf-8 -*- import unittest class test(unittest.TestCase): def setUp(self): print 'This i ...

  2. Arcgis创建SDE_Geometry、SDO_Geometry的区别

    先初略的了解下SDE_Geometry和SDO_Geometry的区别: 1. SDO_GEOMETRY Oracle Spatial在MDSYS模式下定义了一系列几何类型.函数来支持空间数据的存储和 ...

  3. BZOJ3676:[APIO2014]回文串(SAM,Manacher)

    Description 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度.请你求出s的所有回文子串中的最 大出现值. Input 输入只有一行 ...

  4. Please select Android SDK解决办法

    项目不能运行,提示如下  打开项目local.properties文件,查看sdk地址是否正确,注意区分大小写  如果sdk地址正确,那么点击File-Sync Project with gradle ...

  5. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

  6. PID控制本版二

    https://gist.github.com/bradley219/5373998 特色: 比起第一版,加入了 最大最小值限制,暂无测试. PIDImpl( double dt, double ma ...

  7. linux问题解答

    1.Linux如何查询进程?杀死一个进程? ps命令提供进程的一次性查看(瞬时信息),结果不是动态的:top对命令实时监控 ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗 ...

  8. 调用类java.lang.Math的成员方法"public static double random"运算下面表达式10000次,统计其中生成的整数0,1,2,.....20的个数分别是多少,并输出统计结果.(int)(Math.random()*20+0.5)

    public class Test2 { public static void main(String args[]){ int num; int count[]=new int[21]; for(i ...

  9. 备份时如何排除掉默认的 information_schema 和 mysql 库?

    备份时如何排除掉默认的 information_schema 和 mysql 库? mysql -e "show databases;" -uroot -ppassword | g ...

  10. C语言各种数据类型取值范围

    速查表: char -128 ~ +127 1Byte -2^7 ~ 2^7-1 unsigned char 0 ~ 255 1Byte 0 ~ 2^8-1 short -32767 ~ + 3276 ...