0 0

一个地址栏输入请求和中文参数后台处理的问题20

非常期待您的回答!!请大家看好我的问题。
我有一个简单的servlet程序,我现在新建一个浏览器空白页,
在空白页地址栏输入请求servlet的路径和中文参数,这是比较特别的。
到后台是乱码。首先请大家先明确,不同的浏览器或同一浏览器的不同设置,
当你直接在地址栏输入中文时,浏览器对其编码是不同的,
比如firefox是 utf-8  IE是gbk,
那么在后台我怎么处理呢
2013年3月22日 11:45

5个答案 按时间排序 按投票排序

0 0

有二个方法,第一种是对所有的传参都进行编码。
第二种是对于URL直接输入的,由于输入非法,直接跳转到一个ERROR页面就行了。

2013年3月23日 15:58
0 0

首先,如果你是在地址栏里输入参数时,意味着数据是伴随着消息头传递过去的,就是用get方法传递数据的。浏览器会自动将其转换成十六进制编码。

其次,后台接收的时候只能用request.getParamerter("")取值。
此时如果你的web服务接收数据时默认的字符集是Iso-8859-1,那么
  第一种办法:
     String test = req.getParameter("test");
    test = new String(test.getBytes("iso-8859-1"),浏览器编码格式);
    你就可以获取到中文了。
  第二种办法:
    String qs = req.getQueryString();//直接获取到十六进制数据(十六进制的格式是:%xy)
  qs = URLDecoder.decode(qs,浏览器编码格式);//翻译十六进制的字符串

2013年3月22日 21:13
0 0

new String(request.getParamter("name").getBytes(),"UTF-8")

2013年3月22日 20:58
0 0

即便浏览器相同,情况也不同。比如IE有是否用UTF8发送URL的选项。

所以,我的经验是——放弃!哈。

在使用说明之类的文档里会提上一句:“不支持直接地址栏输入。”

2013年3月22日 14:51
0 0

对中文最好先转码,先研究下java的两个类 URLencode URLdecode

2013年3月22日 13:43

相关推荐

    window 端,测试后台接口的工具软件。C#语言,封装有get和post。.zip

    - GET:主要用于获取资源,它在URL中携带参数,请求信息显示在地址栏中,通常用于无副作用的查询操作。 - POST:用于向服务器提交数据,常用于创建或更新资源,数据隐藏在请求体中,对用户不可见,可处理大量数据。 ...

    http请求方法的概述及应用.pdf

    - **案例一**:当用户在浏览器地址栏输入一个网址时,浏览器会向服务器发送一个GET请求,请求该网址对应的资源。 - **案例二**:在API设计中,GET方法通常用于检索数据,例如查询某个用户的详细信息。 - **POST...

    搜索引擎上搜索字符与汉字的转换

    转换过程中,汉字会被拆分成多个字节,每个字节对应一个十六进制数字,这就是你在地址栏看到的“编码格式”。 例如,汉字“搜索”在UTF-8编码下,可能会被转换为"%E6%90%9C%E7%B4%A2"这样的形式。这里的"%E6%90%9C...

    【ASP.NET编程知识】区分ASP.NET中get方法和post方法.docx

    以下是一个简单的GET请求示例: ```html 输入发送的内容: 发送" /> ``` 对应的ASP.NET页面会使用`Request.QueryString`来获取GET参数: ```aspnet string content = Request.QueryString["content1"]; ...

    qt浏览器程序源码 跨平台 多操作系统

    8. **用户交互**:源码中还会包含处理用户输入(如地址栏输入、前进/后退按钮、书签等)的代码,以及相应的事件处理函数。 9. **设置和配置**:浏览器可能提供一系列可配置的选项,如默认搜索引擎、字体设置、隐私...

    达内servlet/jsp/jquery资料

    - 处理中文字符编码问题非常重要,尤其是在处理用户输入时。 - 常见的解决方案包括设置页面编码、URL编码以及请求参数编码。 ### 11. 重定向 - **重定向** 是一种让客户端重新发起新请求的方式。 - 通过`response....

    百度Ueditor

    综上所述,配置和使用百度Ueditor涉及到了前端与后端的协同工作,包括动态访问地址的设定、图片存储路径的管理、后台服务的备份策略以及安全性和性能优化等多个层面。理解并掌握这些知识点,对于成功集成和高效使用...

    橙色收货地址页面小程序源码.zip

    橙色收货地址页面小程序源码是一套用于开发微信小程序的源代码,它专注于实现用户在购物过程中输入、编辑和管理收货地址的功能。通过学习和研究这套源码,开发者可以深入了解微信小程序的架构和组件使用,提升在电商...

    asp.net + ajax + sqlserver 自动补全功能

    3. **服务器处理**:在ASP.NET的后台代码中,接收到AJAX请求后,根据输入的文本查询SQL Server数据库。这可能涉及SQL的LIKE操作符或者全文搜索功能。 4. **返回结果**:查询完成后,将匹配的建议数据(例如,前N个...

    Ajax中文手册(快速上手)

    3. **页面状态管理**:因为Ajax请求不会改变浏览器地址栏,可能影响用户的前进后退操作。可以使用`history.pushState()`和`history.replaceState()`方法配合HTML5的History API来解决。 4. **用户体验**:在Ajax...

    ajax 开发资料 和详细例子

    2. **页面跳转**:Ajax请求无法改变浏览器地址栏,需使用History API或框架处理。 3. **SEO问题**:搜索引擎爬虫可能无法执行JavaScript,导致Ajax加载的内容无法被索引。使用服务端渲染或预渲染技术改善。 4. **...

    AJAX技术Ajax.7z

    3. **页面跳转问题**:AJAX加载的内容不会改变浏览器地址栏,不利于书签和后退操作。可以使用History API或pushState/replaceState方法模拟URL变化。 4. **安全问题**:AJAX请求可能引发跨站脚本攻击(XSS)和跨站...

    输入框 自动完成 AJAX

    3. **后台处理**:服务器接收到请求后,可以是Java或.NET等后端框架处理,根据查询参数查询数据库或其他数据源,找到匹配的建议项。 4. **返回响应**:服务器将匹配的结果以JSON、XML或其他格式返回给前端。 5. **...

    新版易支付源码支持即时到账功能 去授权 去后门 全解密.zip

    2. `favicon.ico`:这是网站的图标,通常显示在浏览器地址栏或收藏夹中,为网站提供视觉识别度。 3. `api.php`:API(Application Programming Interface)是程序间交互的接口,此文件可能是处理支付请求的核心部分...

    java课程设计-网页浏览器

    - **事件处理**:实现用户交互,例如,当用户在地址栏输入URL时触发加载事件,点击前进/后退按钮时切换历史记录。 4. **网页保存**: - **本地存储**:访问的网页可以保存为HTML文件,同时保存相关资源(如图片、...

    自动联想带分页

    它通过在用户键入时显示一个下拉列表,列出匹配的选项来帮助用户更快地完成输入。这种技术广泛应用于搜索引擎、地址栏、表单字段等场景中。 #### 实现原理 自动联想通常依赖于客户端(通常是JavaScript)和服务器...

    fiddler使用教程.docx

    解决方法是打开注册表(开始搜索栏输入 regedit),在 HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 下创建一个 DWORD,值置为 80(十进制). FiddlerScript Rule FiddlerScript Rule 是 Fiddler 的一种编程...

    在线摸头GIF生成系统源码

    7. **requestInterval.js**:这是一个辅助函数,用于实现定时请求,类似于`setInterval`,但更健壮,能够处理浏览器的内存管理和性能优化。在生成GIF时,这个函数可能会用来控制图像帧的捕捉频率。 8. **README.md*...

    2BIZBOX-CG模块使用手册范本.doc

    CG模块的核心作用在于提供一个平台,让客户能够方便地进行询价、请求服务,同时也方便企业与客户之间的信息交流和业务处理。 一、CG模块概述 CG模块是Customer Group的简称,它作为2BizBox系统与客户之间的桥梁,使...

Global site tag (gtag.js) - Google Analytics