怎么通过Servlet向浏览器发送中文
来源:互联网 发布:淘宝店名怎么改 编辑:程序博客网 时间:2024/04/21 00:01
1.通过Servlet向浏览器发送中文,会出现以下的乱码:
2.为什么通过Servlet向浏览器发送中文会产生乱码呢?
在Servlet编程中,经常需要通过response对象将一些信息返回给浏览器,给我们的客户端,而我们在服务器端显示的中文,但是响应给客户端浏览器却是乱码,这主要是由于response对象的getWriter()方法返回的PrintWriter对象默认使用“ISO-8859-1”字符集编码进行Unicode字符串到字节数组的转换,由于ISO8859-1字符集中根本就没有包含中文字符,所以Java在进行转换的时候会将无效的字符编码输出给客户端,于是便出现了乱码,为此ServletResponse接口中便定义了setCharacterEncoding、setContentType等方法来指定getWriter方法返回的PrintWriter对象所使用的字符集编码,所以我们在写Servlet程序中,在调用getWriter方法之前设置这些方法的值。我们为了防止乱码,经常将以下两条语句一起写上:
response.setContentType(“text/html;charset=utf-8”);
response. setCharacterEncoding(“UTF-8”);
只要编写Servlet文件中含有响应给客户端的信息,那么就要写上这两句话。最好写上第二句话,因为它的优先级高,它的设置结果将覆盖setContentType等方法设置的字符编码集。
3.怎么通过Servlet向浏览器发送中文呢?
resp.setContentType("text/html;charset=utf-8");
HelloServlet源码如下:
package firstweb;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloServlet extends HttpServlet {protected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();out.write("<h1>Hello Servlet<h1>");out.write("中文");out.close();}}
web.xml的源码为:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><servlet><servlet-name>helloServlet</servlet-name><servlet-class>firstweb.HelloServlet</servlet-class></servlet><servlet-mapping><servlet-name>helloServlet</servlet-name><url-pattern>/sayHi</url-pattern></servlet-mapping></web-app>
0 0
- 怎么通过Servlet向浏览器发送中文
- 通过servlet向页面中发送json
- 通过 FileResult 向 浏览器 发送文件
- 使用servlet技术向浏览器发送JSON格式数据
- Ajax中向Servlet发送请求时中文乱码问题
- MVC学习四:通过FileResult向浏览器发送文件
- MVC学习四:通过FileResult向浏览器发送文件
- MVC学习四:通过FileResult向浏览器发送文件
- ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
- 通过servlet实现向浏览器输出验证码图片
- html向servlet通过url传递中文乱码
- 向浏览器发送内容
- httpclient4学习-模拟通过流的形式向Servlet发送请求及超时的控制
- 配置tomcat通过doget servlet 方法 向jquery脚本发送json格式数据
- echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端
- 【servlet细节】实例化过程、浏览器向服务器发送请求都是在请求servlet、<load-on-startup>元素
- 怎么通过http向服务器发送数据并接受到返回的数据
- 在Servlet中以下载的方式向浏览器写数据--中文文件乱码问题解决
- 程序出错comip.h指向if (m_pInterface != NULL){m_pInterface->Release();}
- vim中的tab和space
- 安卓开发
- windows 64位系统 安装Apache 计算机中丢失MSVCP100.dll的解决办法
- SQLite: 关于日期的标准化问题
- 怎么通过Servlet向浏览器发送中文
- Cocos2d-x 3.2 大富翁游戏项目开发-第三部分 菜单场景
- Cocos2d-x添加一个按钮弹出一个android对话框
- 23种设计模式-10-命令模式
- hibernate、java、数据库对应类型
- AndroidManifest.xml配置文件详解(转于http://blog.chinaunix.net/uid-9185047-id-3460344.html)
- wikioi1462素数和
- 当windows主机的逻辑cpu个数多于32个时,Database startup hangs
- Java 为什么需要内部类