在新手学习web网站学习的时候经常会遇到?????这种乱码,对于刚起步的菜鸟来说真的很头痛,很容易打击继续学的信心
当然了对于菜鸟的我最近也遇到过乱码问题,沉浸其中不能自拔,爱的深啊!!!!!
我所遇到的乱码问题可以有以下几个:
1.页面乱码-->没有对页面进行编码格式的修改,pageEncoding="utf-8"<<我用的是jsp页面>>其他页面:asp,html都是一样的要对页面编码
格式进行设定,不然就不会给你想要的会出现很多"????????"
2.服务器乱码(servlet)-->服务器乱码一般就是request编码没有设置,req.setCharsetEncoding("utf-8")有这么个方法(记得是这个方法,嘻嘻)
如果设置了也没有用,还有乱码的话,就要对参数进行转码了。有转码肯定就有解码,我所用的转码和解码的类分别是URLDecoder中的两个方法,也可以利用字符串的转码
来进行乱码的处理。比如bigType=new String(articleBigType.getBytes("ISO-8859-1"), "UTF-8");
当然你也可能上述的方法都用了,但是从页面传过来的参数还是乱码,那就只有一种可能了就是你的服务器接受参数的时候没有设定编码格式
在Tomcat中的service.xml配置文件中有个<Connector></Connector>的配置其中有两个参数是用来处理编码的1.URIEncoding 2.useBodyEncodingForURI
当然它还有其他的参数列出如下:
1.allowTrace 如果需要服务器能够处理用户的HAED/TRACE请求,这个值应该设置为true,默认值是false;
2.emptySessionPath 如果设置为true,所有session,cookie的path将会被设置为/,这种设置通常是在portlet中比较有用,默认值是false;
3.enableLookups 如果需要在调用request.getRemoteHost()方法时获取到客户端的机器名,则需要配置为true,如果配置为false,将会跳过DNS查询直接返回客户端机器的IP地址,通常为了提高性能,将此值设置为false,默认值是true;
4.maxPostSize POST方法能够提交的数据的最大大小,如果没有声明或者设置为小于等于0,则表示POST提交的数据大小是不限制的,默认值是2Megabytes.
5.protocol 设置处理请求的协议,默认是HTTP/1.1,即org.apache.coyote.http11.Http11Protocol,此外还 支持的协议有:org.apache.coyote.http11.Http11NioProtocol(通过NIO处理用户请求,可以提高系统性能), org.apache.coyote.http11.HttpAprProtocol。
6.proxyName/proxyPort 如果Web服务器使用了代理服务器,配置此参数意味着在调用request.getServerName的时候将会获取代理服务器的名称,getServerPort()将会返回proxyPort。
7.redirectPort 如果Connector的配置是支持非SSL的请求,当一个SSL请求到来时,服务器会自动的将请求重定位到redirectPort。
8.URIEncoding URI字节转化成String的时候的编码方式,默认为ISO-8859-1,如果页面需要支持中文,一般可以将其设置为UTF-8或者GBK,GB2312。
9.useBodyEncodingForURI 如果设置为true,则会根据页面的编码决定URI的编码方式,默认是false。
Http/1.1 Connector提供的配置项:
10.acceptCount 等待队列的长度,默认值是100。
11.address 如果Tomcat所在的主机有多个IP,这个值声明了用于监听HTTP请求的IP地址。
12.bufferSize Connector创建的输入流的大小,默认值是2048 bytes,提高这个值可以提升性能,增加内存消耗。
13.compressableMimeType 使用HTTP压缩的MIME类型,使用逗号分割,默认值是 text/html,text/xml,text/plain。
14.compression 为了节省带宽,可以将这个值设置为on,从而启用HTTP/1.1 GZIP压缩。off关闭压缩,forces强制使用压缩,默认值是off。
15.connectionTimeout Connector接受一个连接后等待的时间(milliseconds),默认值是60000。
16.executor 在Service节点下,Connector节点前可以配置一个Executor节点用于管理线程,这个属性的值是配置的Executor的名称,如果应用了此属性且executor存在,那么任何其他的关于thread的配置将会被忽略。
17.keepAliveTimeout 在Connector关闭连接前,Connector为另外一个请求Keep Alive所等待的微妙数,默认值和 connectionTimeout 一样。
18.maxHttpHeaderSize HTTP请求、响应头信息的最大大小,默认是8192bytes。
19.maxKeepAliveRequests HTTP/1.0 Keep Alive 和HTTP/1.1 Keep Alive / Pipeline的最大请求数目,
如果设置为1,将会禁用掉Keep Alive和Pipeline,如果设置为小于0的数,Keep Alive的最大请求数将没有限制。
默认为100。
20.maxThreads 用于处理用户请求的最大线程数,默认值是20。
21.noCompressionUserAgents: 设置不使用HTTP GZIP压缩的客户端,使用逗号分隔,
在某些浏览器不支持压缩的时候可以使用此属性。
22.port Connector监听的端口。
23.restrictedUserAgents 设置不使用Keep Alive的客户端代理名称,使用逗号分割,默认值是空字符串。
24.server 覆盖HTTP响应的serve头信息,如果不设置的话,默认值是 Apache-Coyote/1.1。一般情况下
不需要关注此属性。
25.socketBuffer Socket输出流缓冲区的大小,默认是9000bytes,如果设置为小于0的值,则表示不使用此缓冲区。
26.tcpNoDelay 默认值是true,设置为true可以提高系统性能。
27.threadPriority 请求处理线程的优先级,默认的优先级是NORMAL。

新手学习阶段,老司机勿喷!谢谢。

新手学习web遇到的一些乱码问题的更多相关文章

  1. 新手学习WEB前端流程以及学习中常见的误区

    学习web前端编程技术肯定是以就业拿到高薪工作为主要目的的,可是高薪不会那么轻易拿到,这是一个最简单的道理.没有付出就没有回报,在整个学习web前端编程技术的过程中,你需要付出时间.精力.金钱.废话不 ...

  2. 新手学习Web前端的三个高效学习方法,基础要重视

    作为新手,出于对风险的担心,不免在学习一项新技能或者转投一个新行业的时候,有所犹豫与徘徊.毕竟,在这场类似冒险的选择中,我们需要投入时间.精力以及承受相关的经济损失.但是,只有勇敢迈出第一步,才能为生 ...

  3. 零基础如何迅速学习HTML5?新手小白学习web前端H5自白!

    很多的人在毕业之后才发现原来学的专业不是自己想做的工作,或者专业对口的工作待遇让人觉得并不满意,于是很多人选择培训机构学新的一门技能转换行业.IT行业的web前端H5受到很多学员的青睐.那么学习web ...

  4. 爬虫新手学习2-爬虫进阶(urllib和urllib2 的区别、url转码、爬虫GET提交实例、批量爬取贴吧数据、fidder软件安装、有道翻译POST实例、豆瓣ajax数据获取)

    1.urllib和urllib2区别实例 urllib和urllib2都是接受URL请求相关模块,但是提供了不同的功能,两个最显著的不同如下: urllib可以接受URL,不能创建设置headers的 ...

  5. 如何高效的学习WEB前端

    IT 行业的变化快是众人皆知的,需要持续去学习新的知识内容.但是,往往我们工作之后,经常发现学习的东西很少了,学习效率非常低,感觉自己到了一个瓶颈期,久而久之,就演变成『一年工作经验,重复去用十年』的 ...

  6. 适合新手的web开发环境

    学习web开发,环境搭建是必不可少的一个环节.你可以使用wamp一键安装包,或者使用sae.bae.gae这种PaaS平台来部署,或者安装*nix系统在本地部署. 对于一个希望体验LAMP式建站的新手 ...

  7. 毕业生想学习web前端,应该怎么学才能最快找到工作?

    首先无论你要学习任何技能,必须有一个清晰的版图,什么是清晰的版图呢?首先了解你学的技术将来要从事什么工作,这个工作的条件是哪些? 然后你要有一个非常清晰的学习大纲,切记学习任何东西都要系统,不可胡乱的 ...

  8. 零基础转行web前端,如何高效的去学习web前端

    web前端开发要学的知识内容涉及的会很宽泛,虽然说主要是HTML.CSS和JavaScript这些基础知识点,但学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而且互联网时代不 ...

  9. (转)2019年 React 新手学习指南 – 从 React 学习线路图说开去

    原文:https://www.html.cn/archives/10111 注:本文根据 React 开发者学习线路图(2018) 结构编写了很多新手如何学习 React 的建议.2019 年有标题党 ...

随机推荐

  1. 【原】FMDB源码阅读(三)

    [原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...

  2. 标准产品+定制开发:专注打造企业OA、智慧政务云平台——山东森普软件,交付率最高的技术型软件公司

    一.公司简介山东森普信息技术有限公司(以下简称森普软件)是一家专门致力于移动互联网产品.企业管理软件定制开发的技术型企业.公司总部设在全国五大软件园之一的济南齐鲁软件园.森普SimPro是由Simpl ...

  3. 如何利用ETW(Event Tracing for Windows)记录日志

    ETW是Event Tracing for Windows的简称,它是Windows提供的原生的事件跟踪日志系统.由于采用内核(Kernel)层面的缓冲和日志记录机制,所以ETW提供了一种非常高效的事 ...

  4. 关于Android避免按钮重复点击事件

    最近测试人员测试我们的APP的时候,喜欢快速点击某个按钮,出现一个页面出现多次,测试人员能不能禁止这样.我自己点击了几下,确实存在这个问题,也感觉用户体验不太好.于是乎后来我搜了下加一个方法放在我们U ...

  5. C# 序列化与反序列化几种格式的转换

    这里介绍了几种方式之间的序列化与反序列化之间的转换 首先介绍的如何序列化,将object对象序列化常见的两种方式即string和xml对象; 第一种将object转换为string对象,这种比较简单没 ...

  6. JavaScript基础学习-函数及作用域

    函数和作用域是JavaScript的重要组成部分,我们在使用JavaScript编写程序的过程中经常要用到这两部分内容,作为初学者,我经常有困惑,借助写此博文来巩固下之前学习的内容. (一)JavaS ...

  7. SharePonit 2010 更改另存为列表模板的语言类型

    从朋友处得来一个列表模板:AccessApplicationSharePoint.stp 将其通过:网站操作----网站设置----列表模板,上传进去.然后去创建列表,发现找不到此模板. 根据多年老司 ...

  8. 自建git node pm2 (不赘述,就说遇见的问题)

    //======================[git]部分 主题部分还是按照网上的办法进行安装. 安装的话  分为两个办法(一个是yum (contos办法)  或者sudo(ubuntu办法) ...

  9. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  10. git图像化界面GUI的使用

    GIT学习笔记 一.        基础内容 1.git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支. 2.windows下的git叫msysgit,下载 ...