JSP编码以及乱码解决总结
一直以来对JSP中出现乱码的问题都很混乱,现经过查阅资料,对JSP乱码这个问题有比较深刻的认识,下边是我的一些个人总结,希望给同样迷惑的人带来帮助。 同时如果不对,希望得到提醒,共同进步。
首先,说说JSP/Servlet中的几个编码的作用:
1.<%@page pageEncoding="UTF-8" %>
作用:
* 告诉JSP编译器在将JSP文件编译成Servlet时使用的编码。通常,在JSP内部定义的字符串(直接在JSP中定义,而不是从浏览器
提交的数据)出现乱码时,很多都是由于该参数设置错误引起的。例如,你的JSP文件是以GBK为编码保存的
(右击jsp-->Properties --> Text file encoding设置成与pageEncoding不一致时,就有乱码),而在JSP中却指定
pageEncoding="UTF-8",就会引起JSP内部定义的字符串为乱码
* 当JSP中不指定contentType参数,也不使用response.setCharacterEncoding方法时,指定对服务器响应进行重新编码的编码
2.<%@page contentType="text/html;charset=GBK" %>或response.setCharacterEncoding("UTF-8")
作用:
* 指定对服务器响应进行重新编码的编码,服务器在将数据发送到浏览器前,对数据进行重新编码。
* 浏览器也是根据这个参数来对其接收到的数据进行解码,对其发送的请求参数进行编码(如果参数有:
<%=URLEncoder.encode("测试", "GBK") %>或javascript:encodeURI("测试")则以后者为准),自己可以在IE的菜单中选择:
查看(V) --> 编码(D)查看得知浏览器的编码(解码)和<%@page contentType="text/html;charset=GBK" %>或
response.setCharacterEncoding("UTF-8")设置的编码是一致的。
因此:只要响应结果不是乱码,则浏览器显示结果一定不会是乱码(服务器对响应编码和浏览器对响应解码的编码是一样的)。
出现乱码的情况是:浏览器编码 ---> 服务器解码得到的结果是乱码 ---> 造成响应有乱码 --> 浏览器显示乱码
3.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
作用:
* 控制浏览器的以何种编码显示网页的内容
* 与2中page指令设置的区别是,meta设置的是浏览器解释,page设置的是服务端解释
4.r
相关文档:
A tes ......
输入: select ID as 编号, NAME as 姓名, AGE as 年龄 from XXX
输出:
编号
姓名
年龄
要求是如果SQL变动, 仍然要显示出来所有的别名字段信息和数据.
因为现在Hibernate用的比较广泛, 所以优先考虑用Hibernate来实现, 结果发现如果是实体映射查询语句, 可以方便的用:List<String> Quer ......
用mock objects对taglib进行单元测试 因为JSP不是纯粹的java代码,所以,使用mock进行测试是行不通的,但是,taglib却是纯粹的java代码,可以测试,但是它也有麻烦的地方,我们要为抽象的java类的PageContext创建mocks。 在前面,我们曾学习了使用EasyMock和DynaMock的框架来创建mock,但是, ......
九大对象:
内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用
1-out:
javax.servlet.jsp.JspWriter类型,代表输出流的对象。作用域为page(页面执行期)
request:javax.servlet.ServletRequest的子类型,此对象封装了由WEB浏览器或其它客户端生成地HTTP
请求的细节 ......
java导入导出excel操作(jxl)(2)
关键字: java导入导出excel操作(jxl)(2)(
高级操作
一、 数据格式化
在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。
字串格式化
字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat ......