- 浏览: 184467 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
u010244357:
你用了部分是自己的包,怎么跑呢,先生。
如何在springMVC 中对REST服务使用mockmvc 做测试 -
Abird2Simba:
你用了部分是自己的包,怎么跑呢,先生。
如何在springMVC 中对REST服务使用mockmvc 做测试 -
javer:
javer 写道代码看着有点乱啊,怎么搞的 sorry,原来是 ...
如何在springMVC 中对REST服务使用mockmvc 做测试 -
javer:
代码看着有点乱啊,怎么搞的
如何在springMVC 中对REST服务使用mockmvc 做测试 -
u011643314:
你用了部分是自己的包,怎么跑呢,先生。
如何在springMVC 中对REST服务使用mockmvc 做测试
ok 乱码了。
乱码第一件事,静下心来,思考一下这乱码出处的流程。
1、后台发页面的乱码。
首先检查下后台打印出来是否是乱码。
数据来源是1)从数据库出来的话,检查数据库里面是否已经乱码了。检查下数据库的字符集。
2)是从文件中读出来的话,一定要注意看是用什么格式读取,文件本身是什么格式编码。
注意了这俩2点,来源就清楚了。
读取文件代码:
注意这样的代码。粗心一看觉得没问题,其实问题多得是。
好了以上问题没有。是页面显示乱码了。
那就看看:1.页面是什么编码。跟response set 的是否一样?
2.tomcat 里面是否加了 Tomcat中的server.xml中的URIEncoding
3.用的struts2 的mvc ,那设置了 <conston name="struts.i18n.encoding" value="utf-8"/>;(此处一定要跟页面编码一致)
如果以上都对了,那就不会有问题了。
2 页面后台发送数据乱码
页面提交到后台,要么是form 表单,要么是ajax .
一般出现乱码的情况都是页面编码跟后台编码不一致造成,页面是utf-8 ,后台是utf-8.那么后台设置
如果页面是gbk或其他形式,那么光靠后台request的设置是没有左右的。
用ajax,或者jquery 的ajax() 提交话,它默认是给你的数据做了encodeURIComponent(data);
他是用的utf-8的编码方式,在页面上,自己提交中文数据的时候还需要手动写一次,也就是2次encodeURIComponent(data);
然后在后台
附上点代码
数据比较大的时候一定要用post .而不能用get get传输数据最大的长度约2k。超过就会直接返回请求错误。
还见过一些这样的错误 (错误写法):
url 后面?xxx=xx 其实还是用的是get 方式,post 的争取写法应该给个data参数!
java 接受参数
如此检查 防止乱码!
乱码第一件事,静下心来,思考一下这乱码出处的流程。
1、后台发页面的乱码。
首先检查下后台打印出来是否是乱码。
数据来源是1)从数据库出来的话,检查数据库里面是否已经乱码了。检查下数据库的字符集。
2)是从文件中读出来的话,一定要注意看是用什么格式读取,文件本身是什么格式编码。
注意了这俩2点,来源就清楚了。
读取文件代码:
try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"utf-8")); while(true){ String line = br.readLine(); if(line!=null){ sb.append(line+"\n"); }else{ break; } } br.close(); //response.setCharacterEncoding("UTF-8"); //注意这里要在getWriter()之前。 PrintWriter out = response.getWriter(); //response.setContentType("text/html"); response.setContentType("text/html;charset=utf-8"); //写这里是没有任何作用的!!!!!! System.out.println("sb:"+sb.toString()); //这么转化一下是否有必要? String des = new String(sb.toString().getBytes("UTF-8"),"UTF-8"); System.out.println("des:"+des); out.print(des); out.flush(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { System.out.println("文件读取错误"); e.printStackTrace(); } return null;
注意这样的代码。粗心一看觉得没问题,其实问题多得是。
好了以上问题没有。是页面显示乱码了。
那就看看:1.页面是什么编码。跟response set 的是否一样?
2.tomcat 里面是否加了 Tomcat中的server.xml中的URIEncoding
3.用的struts2 的mvc ,那设置了 <conston name="struts.i18n.encoding" value="utf-8"/>;(此处一定要跟页面编码一致)
如果以上都对了,那就不会有问题了。
2 页面后台发送数据乱码
页面提交到后台,要么是form 表单,要么是ajax .
一般出现乱码的情况都是页面编码跟后台编码不一致造成,页面是utf-8 ,后台是utf-8.那么后台设置
request.setCharacterEncoding("uft-8")以后就不会乱码。
如果页面是gbk或其他形式,那么光靠后台request的设置是没有左右的。
用ajax,或者jquery 的ajax() 提交话,它默认是给你的数据做了encodeURIComponent(data);
他是用的utf-8的编码方式,在页面上,自己提交中文数据的时候还需要手动写一次,也就是2次encodeURIComponent(data);
然后在后台
URLDecoder.decode(content, "utf-8");解码。这样来解决乱码的问题。
附上点代码
function submitContent(){ var content = $("#txt").val(); var newcon = encodeURIComponent(content); //post 提交方式 $.post("<%=basePath%>pkg_updatePage", { rootpath: allPath, content: newcon }, function(data){ var ll = confirm("are you sure?"); if(ll==true){ }else{ return; } }); }
数据比较大的时候一定要用post .而不能用get get传输数据最大的长度约2k。超过就会直接返回请求错误。
还见过一些这样的错误 (错误写法):
var allPath ; function geteditData(name){ var path =rootPath+name; allPath = path; $.ajax({ async: false, cache: false, type:"POST", //post! dataType: "text", contentType:"application/x-www-form-urlencoded;charset=gbk", url: "<%=basePath%>pkg_readPage?rootpath="+path, //?xxx=xxx success : function(data){ //alert(typeof(data)); $("#txt").val(data); }, error: function(){ alert("trsData = error") } }); }
url 后面?xxx=xx 其实还是用的是get 方式,post 的争取写法应该给个data参数!
java 接受参数
//更新文件 public String updatePage() throws UnsupportedEncodingException{ request.setCharacterEncoding("gbk"); String fiePath = request.getParameter("rootpath"); String content = request.getParameter("content"); String newcontent=null; try { //编码 newcontent = URLDecoder.decode(content, "utf-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } FileWriter fw; try { fw = new FileWriter(new File(fiePath)); fw.write(newcontent); fw.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println("更新成功"); return null; }
如此检查 防止乱码!
发表评论
-
使用 cxf axis1.x axis2 开发WebService
2014-02-26 14:50 1360cxf======================== ... -
基于red5 dsj 的java 处理视频流和一些疑问
2013-06-19 16:17 5670最近夭折了一个项目,由于我预研失败,同时我将被惩罚,被外派去 ... -
5分钟 熟练使用spring Aop
2013-06-09 09:56 4848声明:所有的5分钟系列博客都停留在使用的基础上,具体原理, ... -
5分钟 玩转google Gson
2013-06-05 17:18 11041google gson 是一个非常轻量的java 对象与j ... -
如何在springMVC 中对REST服务使用mockmvc 做测试
2013-06-05 09:06 46870spring 集成测试中 对mock 的集成实在是太棒了! ... -
边读边写【7】 ----java 多线程实战【Thread /Executors】
2012-04-20 17:04 1813前面2个月一直忙碌,但是还是不忘在iteye 上发发帖子,写写 ... -
struts2 上传下载模板
2012-04-20 09:38 2799第一 struts2 更新比较慢。核心的xwork 基本不变。 ... -
struts2 上传下载模板
2012-04-18 22:21 0struts2下载文件时出错提示:java.lang.Clas ... -
java乱码补充 : 移植乱码 问题
2012-04-18 12:00 1639上一篇: jquery ajax struts2 数据库等中 ... -
java 内存的管理 转载▼
2012-04-17 16:39 1519java 内存的管理 转载▼ 内存的管理(1) 使用Ja ... -
边读边写【6】 ----序列化和反序列化
2012-04-16 15:26 0边读边写【6】 ----序列化和反序列化 -
边读边写【5】 ----java 并发包
2012-04-09 15:09 0java 并发包里面的几个常用的东西 ConCurrentH ... -
边读边写【2】 ----java 集合包之深入Map
2012-04-09 11:49 0Collection 中还有一个Set 但是常用的Set 都是 ... -
边读边写【3】 ----java 集合包之各个集合性能分析
2012-04-10 09:38 1926上次主要看了Map接口,以及Map的选择地址: 。http:/ ... -
边读边写【1】 ----java 集合包之深入List
2012-04-09 11:14 2606一、java 集合包最常用 ... -
hadoop的1TB排序
2012-04-09 09:22 1457hadoop的1TB排序 作者:nos ... -
java 调用lame.exe 将 wav 进行MP3压缩的一些问题
2012-03-05 10:24 5768首先下载附件 lame.exe copy到d 盘,因为代码默认 ... -
使用DES 加密方式对文件进行加密!!!
2012-01-14 17:07 8062DES加密由于在java中非常 ... -
java 大小端存储模式 转化
2012-01-14 16:52 14577所谓的大端模式:是指数据的高位,保存在内存的低地址中,而数据 ... -
myeclipse import sun.misc.BASE64Encoder与sun.misc.BASE64Decoder导入错误
2012-01-09 19:05 2231原因你的jre是myeclipse自带的,不是你安装jdk时候 ...
相关推荐
在这个主题中,“struts2乱码与json插件”主要关注两个方面:字符编码问题和JSON数据交互。 **字符编码问题** 在开发web应用时,乱码问题经常出现,尤其是在处理用户输入或显示非ASCII字符时。Struts2框架默认使用...
2. **中文乱码**:在Tomcat的server.xml中配置URIEncoding="UTF-8",确保中文字符正确编码。 这个集成过程展示了如何使用Struts2、JSON和jQuery实现前后端交互,创建一个简单的用户登录功能。通过AJAX,用户输入的...
自己在struts2中的写好了业务逻辑用response返回的内容却是... 您可能感兴趣的文章:ajax的responseText乱码的问题的解决方法jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXMLAjax request response 乱码解决
在这种场景下,我们可以利用JavaScript库JQuery、异步数据传输技术Ajax以及MVC框架Struts2来协同工作,创建一个定时刷新的功能。以下是详细步骤和相关知识点的解释: 1. **导入jQuery库**: 在HTML文档中,我们...
在本文中,我们将会探讨如何通过JQuery、Ajax、Struts2和Hibernate框架的整合实现一个完整的登录注册功能。这一过程涉及前后端的开发与配置,包括前端页面的搭建、后端逻辑的实现以及前后端之间的交互。在开发环境的...
在本文中,我们将深入探讨如何在Java环境下,结合Struts2框架和jQuery的uploadify插件实现文件上传功能,特别是解决中文乱码问题。这个功能对于任何需要用户交互式上传内容的Web应用都是至关重要的。 首先,jQuery ...
在这个实例中,我们不仅实现了SSH框架的基础整合,还解决了中文上传和下载时可能出现的乱码问题,并引入了基本的AJAX功能来处理JSON数据,提升了用户体验。 1. **Struts2**:Struts2作为MVC(Model-View-Controller...
在SSH(Struts2、Spring、Hibernate)架构的项目中,使用jQuery与后台进行交互是常见的做法,特别是在处理异步请求时。本示例主要介绍了如何利用jQuery通过JSON与Struts2的Action进行数据交换,从而实现前端与后端的...
首先,Struts2.3.24是Struts2的一个稳定版本,它修复了一些已知问题,包括描述中提到的datetimepicker乱码问题。DateTimePicker通常用于在Web应用中提供用户友好的日期和时间选择界面,而乱码问题可能会影响用户体验...
为了解决AJAX回调函数返回的字符串乱码问题,开发者可以在服务器端设置响应内容类型和字符编码,以确保数据的正确传输和解析。根据提供的文件内容,这里涉及到一个关键的操作步骤: 1. 在服务器端,无论是使用...
charset=UTF-8" %>`来设定默认的字符编码,避免了乱码问题。 4. **分离Java代码和展示逻辑**:通过使用JSP2.0的`<jsp:useBean>`、`<jsp:setProperty>`等指令,可以更好地实现模型-视图-控制器(MVC)设计模式。 **...
本文将深入探讨如何使用jQuery实现下拉框的自动提示功能,并解决中文乱码问题,同时结合Java后端进行讲解。 一、jQuery自动提示功能实现 1. HTML结构:首先,我们需要一个输入框(input)用于用户输入查询内容,以及...
前后台架构: 1、java语言(jdk1.5)、struts1.2.9、hibernate3.2.6.ga、spring2.0.8 2、前台:主要使用了轻量级的ajax开发框架jQuery,使用jQuery很轻松的降低了服务器压力提高了用户体验并且代码容易维护,尤其是...
需要注意的是,在输出当前时间之前,需要设置响应的字符编码,以避免乱码问题。 四、Struts2.xml 配置文件 在 Struts2 框架中,我们需要在 Struts2.xml 配置文件中配置 action,以便将请求映射到对应的 action 中...
参考文献中的学位论文和教程提供了进一步的在线视频网站开发的理论基础和技术实践,如SSH(Struts、Spring、Hibernate)框架的使用、Web标准化设计以及PHP、Ajax和jQuery的结合应用。 总的来说,这个在线视频分享...
以上就是SSH项目的基本实现步骤,实际开发中可能还需要配置Spring来管理依赖,实现事务控制,以及使用其他相关技术如Ajax、jQuery等增强用户体验。同时,注意进行单元测试和集成测试,确保各个组件的正确性和整个...
4. Spring MVC:理解Spring MVC的工作流程、与Struts2的区别、处理乱码问题和组件扩展。 5. MyBatis:比较MyBatis与JDBC和Hibernate的优缺点,掌握MyBatis的配置和使用。 脚本和数据库: 1. JavaScript:掌握...
4. **SpringMVC**:学习其工作流程,对比Struts2,解决乱码问题,熟悉组件扩展。 5. **MyBatis**:对比JDBC和Hibernate,理解动态SQL,掌握XML和注解的映射方式。 **四、脚本** 1. **JavaScript**:了解核心对象,...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...