Eclipse设置server的编码
来源:互联网 发布:网络市场调研的步骤 编辑:程序博客网 时间:2024/06/16 03:01
Eclipse设置server的编码
最近在开发一些HTML5的界面,H5中界面的数据都是从服务器接口获取,而且我们从服务器获取数据时就涉及到跨域的问题,这样我们就不得不使用了JQuery中的jsonp get请求。http请求如果包含有中文参数,一般我们是通过post请求替代get请求来解决编码问题,但是很抱歉,jsonp 由于其原理的原因只能是get请求。所以对于包含有中文参数的get请求,就得对参数进行url编码,以解决中文编码的问题。如下:
var fullUrl = 'http://127.0.0.1:8080/getUserInfo'var reqData ='{"userName":"中国"}';//有中文的参数reqData = encodeURIComponent(reqData);//url encode utf-8//封装完整的请求的url地址,str参数放请求的json数据fullUrl = fullUrl + '?str=' + reqData + '&r=' + new Date().getTime();console.log('jsonp get请求fullUrl:' + fullUrl);//以下发出js请求 $.ajax({ type: "get", url: 'http://xxxx:8080/getUserI', timeout: 10000, dataType: "jsonp", jsonp: "jsoncallback", //jsonpCallback: "success_jsonpCallback", success: function(data) { console.log("result: " + APP.json2Str(data)); if (data && data.result) { if (data.result == '0') { //获取数据成功 callback_success(data); } else { var errerTips = '网络请求发生错误,请稍后再试'; //token异常 if (data.result == "002" || data.result == "003") { APP.refreshAppToken(); //刷新token errerTips = data.reason; } // APP.showHttpErrer(errerTips); } } }, complete: function(XMLHttpRequest, status) { //请求完成后最终执行参数 if (showLoadingDialog) { APP.dismissLoadingDialog(); } if (status == 'timeout') { //超时,status还有success,error等值的情况 APP.showHttpErrer('网络请求超时,请稍后再试'); } else if (status == 'error') { APP.showHttpErrer('网络请求发生错误,请稍后再试'); } else if (status == 'success') {} } });
很明显,上述get请求,我们已经使用encodeURIComponent对参数进行了编码,这样我们服务端servlet接收请求并解析参数时,无需额外的工作就能自动将参数解码。如下:
String reqStr = req.getParameter("str");//可能str是中文,但是无需额外工作既会自己解码
以下说的就是我踩到的坑。我们的项目打包到阿里云的服务器或者我把项目打包放到本地的tomcat容器发布之后,从H5发出的get请求,就算有中文参数,服务端解析都不会乱码;但是我在eclipse中配置使用的tomcat运行项目,却总是乱码,这让我陷入了沉思,多次检查本地的tomcat已确认编码设置为UTF-8编码。按道理说,eclipse中运行的server依赖了本地tomcat,本地tomcat的编码已经已经在server.xml设置,为何不生效。经过多番折腾,原来才明白eclipse的server虽然依赖了本地tomcat环境,但是只是当做了一个运行的容器,而运行的server却引用了eclipse中server中配置的server.xml文件,并不是本地tomcat中的server.xml文件。
所以,我们找到eclipse中servers下面的server,修改里面的server.xml文件,最终编码问题得以解决:
记录一下这个坑,以免以后会重踩!
- Eclipse设置server的编码
- eclipse编码的设置
- eclipse编码的设置
- eclipse 的编码设置方式
- eclipse 的编码统一设置
- Eclipse中设置编码的方式
- Eclipse中设置编码的方式
- eclipse 中设置编码的方式
- Eclipse中设置编码的方式
- Eclipse中设置编码的方式
- 设置Eclipse里的默认编码
- Eclipse中设置编码的方式
- eclipse中设置项目的编码方式
- Eclipse中设置编码的方式
- Eclipse中设置编码的方式
- Eclipse中设置编码的方式
- Eclipse中设置文件的默认编码
- Eclipse中设置编码的方式
- Realsense(三)截取n帧彩色及深度图并保存
- Java中如何遍历Map对象的4种方法
- Swift之下标脚本
- 博客园搬家到CSDN
- 利用exe4j制作exe文件
- Eclipse设置server的编码
- 关于iOS学习笔记(1)
- 文件的源类型
- C语言getch(),getchar(),getche()区别实例
- 矩阵的性能指标
- python multiprocessing ImportError: This platform lacks a functioning sem_open implementation问题 解决方案
- Linux等待队列
- Adding new storage disks and Dropping old storage disks from OCR ,Vote diskgroup
- p