中文乱码解决方法.ppt_第1页
中文乱码解决方法.ppt_第2页
中文乱码解决方法.ppt_第3页
中文乱码解决方法.ppt_第4页
中文乱码解决方法.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本章内容,1.了解字符集与编码方法 2.Java中字符的表示与处理 3.Web开发中的各种中文乱码解决方法,字符集与编码方法,ASCII编码,ASCII使用7个比特进行编码,最多可表示128个字符。包括大小写英文字母,阿拉伯数字、标点符号、控制字符等。每个字符用一个字节表示,字节的最高位是0。 A的ASCII表示方法: 01000001,ISO8859-1,又称作扩展的ASCII编码,采用8比特进行编码。新增的字符主要用来支持部分欧洲国家所使用的语言,例如:德语、葡萄牙语、西班牙语等。ISO8859-1兼容ASCII编码。,GB2312,1981年,开始使用,GB2312。 GB2312使用双字节编码,一共包含了7445个字符,包括6763个汉字。对汉字分了两级,一级常用汉字3755个汉字,按照拼音排序。二级汉字次常用汉字3008个。按照部首排序。 GB2312主要应用在中国大陆和新加坡,几乎所有的中文系统和国际化软件都支持GB2312,同时也支持ASCII编码。,GBK,GBK是的简称,是在GB2312的基础上进行的扩充。 GBK收录了21886个汉字和符号,其中汉字21003个,图形符号883个。并且与GB2312编码完全兼容。,GB18030,GB18030是由国家信息产业部和质量监督总局于2000年发布的编码方式,在GB2312和GBK的基础上进行的扩充,增加了一些新的字符,主要包括少数名族使用的字符。主要解决疑、难、偏等字符问题。,BIG5,Big5又称作大五码,是针对繁体汉字的编码方式。目前主要用在香港、台湾、澳门的计算机系统中。它也是双字节编码,一共收录了5401个常用字和7652个次常用字。,Unicode,1991年unicode组织把世界上几十种文字整合在一个字符集中。Unicode中的每一个字符都有一个唯一的数字进行表示。 现在unicode已经被广泛的使用,Java语言、Window XP、和MS office等软件内部都使用了unicode编码。 官方网址: 最新版本是5.0,Codepage,Unicode不兼容GB2312、GBK和Big5等字符集,也不兼容其他国家的字符集,为了能顺利实现unicode和其他字符集之间的转换,需要使用codepage技术。 Codepage是各种字符集和Unicode之间的映射表。,Java中字符的表示与处理,Java中的字符主要通过char、byte和String这3种类型表示。 char表示的是一个unicode字符,String是字符串(多个char类型字符的序列)。字符串在网络传输或者存储前需要转换成byte类型的数组。从网络接收或从存储设备读取的内容一般都是byte类型的数组。,Java web中文乱码解决方法,1.调用JSP页面显示乱码 2.,Cookie在Web应用中的表现,1.保存用户名、密码,在一定时间内不用登录。 2.记录用户访问网站的喜好(例如网站背景音乐等) 3.网站的个性化服务,例如定制服务、内容等。例如订阅天气预报等,sendRedirect()方法,通过该方法将一个信息传递给下一个页面, 例如:sendRedirect(“welcome?userName=oyhj”); 的形式。 优点:传递信息的速度很快。 缺点:它只能传递一个字符串,而不能传递对象。,sendRedirect()方法(续),sendRedirect(“welcome?userName=oyhj”); (1) welcome代表要跳转到的servlet的url。 (2) servlet名和变量名之间要有个?。 (3) 如果传递两个以上的变量,变量之间要用&。 (4) 如果传递的是中文,需要进行编码处理。,sendRedirect()应用案例,对用户登录系统进行改进,在欢迎界面显示用户的姓名。 源码见UserLogin(V1.1),隐藏表单,隐藏表单是最常见的一种方式,也是最简单的一种。 见源码:HiddenFormTest,Session技术,当用户打开浏览器访问某个网站时,网站服务器就会在它的内存为这个浏览器分配一个“空间”,这个“空间”被该浏览器独享。空间中存放的数据默认生存时间是30min,可以修改。,Session在Web中的应用,(1) 实现网上交易平台的购物车功能。 (2) 保存用户的登录信息 (3)防止用户非法登录到某个页面,Session的使用,可以把Session理解成一张二维表,这个表有两列。每一行是Session的一个属性,行数没有限制。 一个属性包括两个部分,一个部分是属性的名字,另一个是属性的值。,Session的使用,(1) 得到Session对象 HttpSession hs=request.getSession(true); (2) 向Session添加属性 hs.setAttribute(String name,Object value); (3) 从Session得到某个属性 String name=hs.getAttribute(String name); (4) 从Session中删除某个属性 hs.removeAttribute(String name);,Session使用的注意事项,1. Session中属性默认的生存时间是30min,可以对时间进行修改。a)在web.xml文件中(服务器的)。b)在程序中修改。 2.Session属性的过期时间指的是间隔时间,而不是累计时间。 3.当某个浏览器访问网站时,服务器会给每个浏览器分配一个唯一的Session id,用来区分每个浏览器。 4.因为Session的属性是要占用服务器内存的,建议谨慎使用Session。,Session应用案例,在用户登录中,防止用户非法登录到欢迎界面。 见源码:UserLogin(V1.2),Servlet中操作数据库,Servlet中操作数据库,与普通java文件中操作数据库类似,需要注意的是要将JDBC驱动的jar包引入。 (1)将JDBC驱动的jar包放到%TOMCAT_HOME%commonlib目录中。 (2)将JDBC驱动的jar包放到当前应用的lib目录里。 注: (1)是当前Web服务器下所有web应用的公共jar包。 (2) 是当前web应用的jar包。,Servlet中操作数据库,将用户登录系统进行改进,用户名和密码放在数据库里。 创建数据库脚本: create table userInfo ( UserID int not null auto_increment, UserName varchar(10), Password varchar(10), E-mail varchar(30), Sex varchar(10), Grade int, primary key(UserID); 源码见:UserLogin(V1.3),Servlet中访问数据库,建议:Servlet里面不要写太多的业务逻辑,这样不利用修改,而且影响程序的层次结构。 源码见:UserLogin(V1.3.1),在Servlet中显示图片,(1) 在Web应用的目录下,建立一个专门用来保存图片的文件夹(例如Image)。 (2) 在Servlet里面添加代码: 即可。 源码见:UserLogin(V1.3.2) 注:img是Html语言里面的一个标签。,Web应用中的分页技术,分页是任何一个网站(bbs,购物商城,blog)等必备的显示技术之一,因此有必要掌握。,分页技术,分页算法: (1) int pageSize: 每页显示多少条记录 (2) int pageCurrent:当前显示第几页 (3) int pageCount:共有多少页 (4) int rowCount:共有多少条记录 if(rowCount%pageSize=0) pageCount=rowCount/pageSize; else pageCount=rowCount/pageSize+1;,分页技术,以MySQL为例:将第N页的记录显示出来,可采用如下SQL语句: select * from userInfo limit (N-1)*pageSize,pageSize; 注:limit子句使用方法: (1) select * from userInfo limit M; 将表中前M条记录取出 (2) select * from userInfo M,N; 从表的第M+1条记录开始向后取出N条。 以SQL Server为例:将第N页的记录显示出来,可采用如下SQL语句: Select top pageSize * from userInfo where UserID not in (select top pageSize*(pageCurrent-1) UserID from userInfo);,分页技术案例,对用户管理系统进行修改,在欢迎界面分页显示所有合法用户的相关信息。 见源码:UserLogin(V1.4),利用超链接显示第几页,利用超链接将分页的个数显示出来,用户可以随意查看第几页的内容。 在Welcome页面完成超链接,本质是Welcome自己连接自己,但是要将“第几页的信息”传递进来。 源码见:UserLogin(V1.4.1),测试分页的效率,实际应用中,一张表中的记录会有十几万条,甚至上百万条。扩大表中的记录个数,查看分页效率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论