仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 545|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA网页编程之JSP页面显现乱码成绩的办理

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。js|办理|成绩|显现|页面  人人在JSP的开辟过程当中,常常呈现中文乱码的成绩,大概一至困扰着您,我如今把我在JSP开辟中碰到的中文乱码的成绩及办理举措写出来供人人参考。
  1、JSP页面显现乱码
  上面的显现页面(display.jsp)就呈现乱码:
<html>
<head>
<title>JSP的中文处置</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>

<body>
<%
out.print("JSP的中文处置");
%>
</body>
</html>
  对分歧的WEB服务器和分歧的JDK版本,处置了局就纷歧样。缘故原由:服务器利用的编码体例分歧和扫瞄器对分歧的字符显现了局分歧而招致的。办理举措:在JSP页面中指定编码体例(gb2312),即在页面的第一行加上:<%@pagecontentType="text/html;charset=gb2312"%>,就能够打消乱码了。完全页面以下:
<%@pagecontentType="text/html;charset=gb2312"%>
<html>
<head>
<title>JSP的中文处置</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<%
out.print("JSP的中文处置");
%>
</body>
</html>
  2、表单提交中文时呈现乱码
  上面是一个提交页面(submit.jsp),代码以下:
<html>
<head>
<title>JSP的中文处置</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<formname="form1"method="post"action="process.jsp">
<divalign="center">
<inputtype="text"name="name">
<inputtype="submit"name="Submit"value="Submit">
</div>
</form>
</body>
</html>
  上面是处置页面(process.jsp)代码:
<%@pagecontentType="text/html;charset=gb2312"%>
<html>
<head>
<title>JSP的中文处置</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>

<body>
<%=request.getParameter("name")%>
</body>
</html>
  假如submit.jsp提交英笔墨符能准确显现,假如提交中文时就会呈现乱码。缘故原由:扫瞄器默许利用UTF-8编码体例来发送哀求,而UTF-8和GB2312编码体例暗示字符时纷歧样,如许就呈现了不克不及辨认字符。办理举措:经由过程request.seCharacterEncoding("gb2312")对哀求举行一致编码,就完成了中文的一般显现。修正后的process.jsp代码以下:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.seCharacterEncoding("gb2312");
%>
<html>
<head>
<title>JSP的中文处置</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<%=request.getParameter("name")%>
</body>
</html>
  3、数据库毗连呈现乱码
  只需触及中文的中央全体是乱码,办理举措:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。
  4、数据库的显现乱码
  在mysql4.1.0中,varchar范例,text范例就会呈现中文乱码,关于varchar范例把它设为binary属性就能够办理中文成绩,关于text范例就要用一个编码转换类来处置,完成以下:
publicclassConvert{
/**把ISO-8859-1码转换成GB2312
*/
publicstaticStringISOtoGB(Stringiso){
Stringgb;
try{
if(iso.equals("")||iso==null){
return"";
}
else{
iso=iso.trim();
gb=newString(iso.getBytes("ISO-8859-1"),"GB2312");
returngb;
}
}
catch(Exceptione){
System.err.print("编码转换毛病:"+e.getMessage());
return"";
}
}
}
  把它编译成class,就能够挪用Convert类的静态办法ISOtoGB()来转换编码。

你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。
小魔女 该用户已被删除
沙发
发表于 2015-1-20 15:45:02 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
莫相离 该用户已被删除
板凳
发表于 2015-1-29 12:29:48 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
兰色精灵 该用户已被删除
地板
发表于 2015-2-1 09:03:06 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
爱飞 该用户已被删除
5#
 楼主| 发表于 2015-2-3 12:32:10 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
若相依 该用户已被删除
6#
发表于 2015-2-5 07:58:31 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
小女巫 该用户已被删除
7#
发表于 2015-2-10 01:39:14 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
飘灵儿 该用户已被删除
8#
发表于 2015-2-28 11:52:59 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-9 22:47:59 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
透明 该用户已被删除
10#
发表于 2015-3-17 02:50:53 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
山那边是海 该用户已被删除
11#
发表于 2015-3-23 17:02:06 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 23:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表