摘要: 下面的任何一条缺一不可,注意,我之所以全部都用的XXX,意思就是这几个最好全部都一致!1、HTML中要用meta content="text/html; charset=XXX"来指出HTML页面的编码为XXX,XXX必须和HTML文件本身的编码一致!2、JSP页面中必须要出现pageEncoding="XXX"用来指出JSP文件本身的编码,这样JSP文件在编译为java文件的时候才不会有乱码(并且JSP文件对应的java文件是UTF-8的编码),然后JSP文件对应的java文件被编译为class文件,仍然是UTF-8编码,最后class文件被web-c 阅读全文
posted @ 2013-07-08 22:09 rldts 阅读(510) 评论(0) 推荐(0)
摘要: 转自http://blog.csdn.net/yudaoai/article/details/4231333filter功能.它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chaining”(servlet 链).一个filter 包括:1. 在servlet被调用之前截获;2. 在servlet被调用之前检查servlet reque 阅读全文
posted @ 2013-07-08 20:56 rldts 阅读(525) 评论(0) 推荐(0)
摘要: Filter有如下几个用处。在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。在HttpServletResponse到达客户端之前,拦截HttpServletResponse。根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。首先,要知道在web.xml中,指定了filter要进行拦截url范围,/*则表示拦截你%web-root%下对所有url的request和res 阅读全文
posted @ 2013-07-08 20:49 rldts 阅读(847) 评论(0) 推荐(0)
摘要: 今天调代码的时候,突然发现,服务器开着,什么都没有问题,当我把下面这个filter给deploy了以后,访问所有的页面就都是空白。后来发现,是因为在代码路径中,有一条路径没有调用filterChain.doFilter(request, response),想来也是,你这不就等于把HttpServletRequest给丢失了么web.xml中,在enable="false"的情况下,会出现我上面描述的问题,代码如下 1 package org.foo.filterdemo ; 2 3 import java.io.* ; 4 5 import javax.servlet.* 阅读全文
posted @ 2013-07-08 17:41 rldts 阅读(2502) 评论(0) 推荐(0)
摘要: 暂时没找到好的解决办法,只有自己硬编码转换,找到了我再回来补充比如下述代码(只是为了说明乱码的问题): 1 package org.foo.filterdemo ; 2 3 import java.io.* ; 4 5 import javax.servlet.* ; 6 7 public class SimpleFilter implements Filter { 8 9 private boolean enable = false;10 11 public void init(FilterConfig config)12 thro... 阅读全文
posted @ 2013-07-08 17:34 rldts 阅读(137) 评论(0) 推荐(0)
摘要: 其实就是利用这么一个原理:byte[] bytes = str.getBytes("iso-8859-1");String result = new String(bytes, charset); // 将str转化为你指定的charset encoding这个filter解决了什么问题呢?其实就是解决了使用request.getParameter时的乱码问题,比如说,你有一个a.html或者a.jsp发送request给servlet_b,servlet_b利用request.getParameter把参数提取出来,然后送到c.jsp去显示,如果你的a.html/jsp使 阅读全文
posted @ 2013-07-08 17:08 rldts 阅读(3915) 评论(0) 推荐(0)
摘要: 刚才突然发现,很多servlet的api都不熟悉,但是又没有给eclipse导入api,就google了一下关键字,servlet api / doc或者java ee api / doc注意版本号还有就是,如果下载下来后的doc不是一个文件夹,而是jar包,那么就采取下面这种方法导入到eclipse的project中可以看到,eclipse提供了2中导入方法,一种是导入文件夹/网址(Javadoc URL);另一种是导入jar包或者zip包裹(Java doc in archive)选择好路径之后点击Validate验证一下! 阅读全文
posted @ 2013-07-08 14:53 rldts 阅读(946) 评论(0) 推荐(0)
摘要: 刚才在测试一个用户登录程序的时候,是这么一个情况,在login.jsp登录之后,跳转到success.jsp页面然后我修改了一个servlet,重新deploy到/WEB-INF/classes下(在此过程中没有关闭MySQL以及Tomcat,Tomcat reloadable="true")就出现了如下错误,可能有memory leak后来google了一下,这里找到了一些解决方案,http://stackoverflow.com/questions/11872316/tomcat-guice-jdbc-memory-leak但是我现在正在想办法重现这个错误,才能验证上面 阅读全文
posted @ 2013-07-08 14:35 rldts 阅读(1088) 评论(0) 推荐(0)
摘要: Charset.isSupported() 阅读全文
posted @ 2013-07-08 12:57 rldts 阅读(204) 评论(0) 推荐(0)
摘要: 代码就在下面,最开始我以为是request和response的编码问题,还去搞了一个filter,结果最后发现跟filter半毛钱关系都没有,都是因为没有打印这么一句out.println("");input.html 1 2 3 4 5 Insert title here 6 7 8 9 请输入内容:10 11 12 13 InputServlet.javapackage org.lxh.servletdemo ;import java.io.* ;import javax.servlet.* ;import javax.serv... 阅读全文
posted @ 2013-07-08 10:43 rldts 阅读(780) 评论(0) 推荐(0)
摘要: 这样比你自己在Servlet代码中硬编码request.setCharacterEncoding, response.setCharacterEncoding方便多了总之,如果你添加了这个filter,配置好了web.xml,那么如果还出现乱码问题,你就去检查你的JSP和HTML代码中的encoding选项吧(charset, pageEncoding, meta.content之类的),看看是否和你在web.xml中配置的filter的encoding相匹配CharacterEncodingFilter.java 1 public class CharacterEncodingFilter 阅读全文
posted @ 2013-07-08 10:14 rldts 阅读(564) 评论(0) 推荐(0)