zoukankan      html  css  js  c++  java
  • Servlet

    MyEclipse10.7修改模板:http://blog.sina.com.cn/s/blog_bfed8f8a0101bi2v.html

    1.相关的几个重要的类之间的关系

    2.ServletConfig

    3.ServletContext

      1)数据共享

          2)全局参数

      3)转发

          4)获取资源文件路径

           注意src编译之后对应WEB-INF下的classes

    4.Response输出中文乱码问题

      1)采用字节流输出

         情况1:默认输出的字节是.getBytes()得到的,则默认系统编码。如果在本机上浏览器也会采用默认编码,不会有乱码。

         情况2:输出字节是其它编码

           解决办法1:输出的字节里添加<meta content-type="text/html;charset=utf-8">文本

           解决办法2:response.setContentType("text/html;charset=utf-8"); 

             解决办法3:response.addHeader("Content-Type","text/html;charset=utf-8");

             解法办法的本质都是告诉浏览器采用什么编码来解析字节

       2)采用字符流输出

           字符流输出中文乱码的根本原因是服务器向浏览器传输时,默认采用ISO-8859-1编码,将字符变成字节。 

             解决办法1:response.setCharactorEncoding("UTF-8");    //服务器采用UTF-8编码

                  response.addHeader("Content-Type","text/html;charset=utf-8");  //同时告诉浏览器采用UTF-8解码

           解决办法2:response.setContentType("text/html;charset=utf-8");  //同时通知服务器和浏览器采用UTF-8编码

          3)下载中文名文件乱码

           将中文名用URLEncoder使用UTF-8编码 

            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(file.getName(), "UTF-8"));

    4.Request请求中文乱码问题

      1)post请求:

          服务器默认采用request.getCharatorEncoding指定的字符集来编码request的请求参数。只要在获取请求参数之前request.setCharactorEncoding()与请求页面    的编码一致即可。(但是我在360上get也可以??)

      2)get请求

          手动编码

          bytes = str.getBytes("ISO-8859-1");

          new String(bytes,"统一编码");

      

  • 相关阅读:
    Atitit.auto complete 自动完成控件的实现总结
    Atitit. .net c# web 跟客户端winform 的ui控件结构比较
    Atitit.实现继承的原理and方法java javascript .net c# php ...
    Atitit.javascript 实现类的方式原理大总结
    Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9
    Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结
    c#类库中使用Session
    Oracle和Redhat下载地址
    IIS (HTTP Error 500.21
    浅淡Windows7 32位与64位/x86与x64的区别
  • 原文地址:https://www.cnblogs.com/XinYiWorldBlog/p/5238168.html
Copyright © 2011-2022 走看看