javascript URL在传值的过程中使用的是默认的字符集编码ISO-8859-1进行编码,传递中文参数时比如会乱码。解决方式有两种:
方式一:
前台代码::url=encodeURI(url);这里是整个URL
服务器端代码:String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk");
方式二:
前台代码:var url="parameter="+parameter;
url=encodeURI(encodeURI(url)); //用了2次encodeURI ,这里是参数(中文部分)
服务器端的代码:
String parameter= request.getParameter(parameter);
parameter= java.net.URLDecoder.decode(parameter, "gbk");
方式二:
前台代码:var url="parameter="+parameter;
url=encodeURI(encodeURI(url)); //用了2次encodeURI ,这里是参数(中文部分)
服务器端的代码:
String parameter= request.getParameter(parameter);
parameter= java.net.URLDecoder.decode(parameter, "gbk");
在进行Ajax请求servlet时也会有自己的问题,代码如下
可能是因为浏览器处理JS中文时以默认utf-8个方式发送中文
var url = encodeURI("listUserQuery.do?&test=你好"); xmlhttp.open("GET", url, false);服务服务器端
req.setCharacterEncoding("gbk"); resp.setContentType("text/html;chatset=gbk"); resp.setCharacterEncoding("gbk"); ........ String text = new tring(req.getParameter("test").getBytes("ISO-8859-1"), "utf-8");//虽然页面和servlet端都是gbk的编码,但是这里如果是gbk就会乱码结果如下:
可能是因为浏览器处理JS中文时以默认utf-8个方式发送中文
相关推荐
1. **请求参数乱码**:当通过GET或POST方式传递参数时,我们需要设置请求的编码。在`doGet()`或`doPost()`方法中,我们可以使用`HttpServletRequest`的`setCharacterEncoding()`方法设定字符编码,例如: ```java ...
本文将详细讨论如何解决jQuery AJAX向Servlet传递参数时出现的乱码问题。 首先,我们需要确保JSP页面本身没有编码问题。在JSP页面的顶部添加`<%@page>`指令,设置`pageEncoding`和`contentType`属性,确保JSP页面的...
这个“ajax与Servlet,传值Demo”着重展示了如何利用Ajax实现页面局部更新,同时处理Servlet接收到的Ajax传递的数据,包括解决中文乱码问题。 Ajax的核心在于JavaScript,它允许网页在不重新加载整个页面的情况下与...
1. **URL编码**:在发送GET请求前,应该使用JavaScript的`encodeURIComponent()`函数对包含中文的参数进行URL编码,这样可以确保中文字符在URL中以正确的格式传递。 2. **服务器端解码**:服务器端接收到带有编码的...
在IT行业中,网络通信是不可或缺的一部分,而URL编码、GET和POST提交以及乱码问题则是开发者经常遇到的技术挑战。本文将深入探讨这些知识点,并提供相应的解决方案。 首先,URL编码是因URL(统一资源定位符)中不能...
首先,我们关注GET方式传递参数时的乱码情况。比如,用户在浏览器地址栏输入包含中文参数的URL:`http://localhost:8080/test/test.jsp?param=大家好`。在JSP页面中,我们用以下代码处理`param`参数: ```jsp (...
对于POST请求,我们使用`getParameter()`方法同样可以获取参数,但需要先调用`request.setCharacterEncoding("UTF-8")`设置字符编码,防止中文乱码问题。 在处理完登录验证后,Servlet会生成一个JSON字符串作为响应...
本文主要探讨了中文乱码的解决方案,特别是在使用Tomcat6.0作为servlet容器,与Firefox3.0和IE6浏览器交互时的情况。 首先,要理解中文乱码的产生,涉及到字符编码的转换和解码过程。通常,字符编码分为两种:页面...
此外,对于AJAX请求,还可以考虑使用POST方式传递数据,而不是GET方式,因为POST方式可以携带更多数据且不会出现在URL中,从而避免了URL编码带来的问题。同时,确保前端与后端的编码一致,如在HTML页面中使用`...
UTF-8编码是一种常见的Unicode实现,它使用1到4个字节来表示每个Unicode字符,对于中文汉字,通常每个字占用3个字节。因此,当Ajax发送或接收UTF-8编码的数据时,理论上不应出现乱码。 然而,乱码问题可能源于以下...
- POST方式:仅限于表单提交,可以通过JavaScript动态改变表单的提交方式。 6. **多值参数处理**: - 对于多个同名参数,`getParameterValues()`方法返回一个字符串数组,如获取多个ID。 7. **请求转发和重定向*...
如果URL参数来自另一个页面,该页面的编码必须与传递的中文参数一致,否则在传输过程中可能会发生乱码。 3. **IE的高级设置**: IE浏览器的“总以UTF-8方式发送URL地址”选项仅影响URL路径部分,不改变查询字符串...
**问题描述**:对于通过POST方式提交的数据,Servlet系统默认并不对字符集进行转换,这可能导致乱码问题。 **解决方案**:使用`SetCharacterEncodingFilter`过滤器,可以强制将所有POST请求的数据转换为UTF-8编码,...
通过这些措施,可以最大程度地减少页面跳转和数据传递过程中出现的乱码问题,提高Java Web应用的稳定性和用户体验。在实际开发中,应该根据具体情况选择合适的编码和乱码解决方案,以确保Web应用的国际化和本地化...
根据提供的文件信息,以下是对达内servlet/jsp/jquery培训资料中的关键知识点的详细解析: ### 1. 架构 - **C/S 架构(Client-Server 架构)**: - 客户端和服务端通过TCP/IP协议进行通信。 - 特点包括:需要...
- **部署**:将Web应用部署到Tomcat,可以通过放置WAR文件到`webapps`目录下或者直接复制文件夹的方式完成。 #### 三、Servlet技术 - **定义**:Servlet是一种运行于服务器端的小程序,用于处理客户端发送的HTTP...
当需要将Servlet的值传递给其他类时,可以创建一个带有参数的函数,实例化目标类,并在Servlet中调用该函数。 - 当参数过多时,可以封装到一个对象中,然后传递该对象,简化处理逻辑。 3. **路径类型**: - 相对...
- 重定向:URL改变,无法直接传递请求数据,但可通过GET方式传递参数。 8. **web.xml中配置Servlet** `<servlet>`标签定义Servlet,`<servlet-name>`是Servlet的名称,`<servlet-class>`是Servlet类的全限定名。`...
测试显示,无论使用GET还是POST方式,设置`contentType`属性为`charset=UTF-8`都能有效防止中文乱码。 对于GET请求,使用`data`对象或直接在URL中拼接参数,只要正确设置`contentType`,中文都能正确显示。而对于...