新手学习web遇到的一些乱码问题

在新手学习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。html

 

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

相关文章
相关标签/搜索