1. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
做Java几年,第一次碰见这个错,看错误日志完全没头绪。
网上检索,都说是web.xml的错。然而,我绝对没有修改过web.xml。之前完全没有问题。
最后在一个英文网站上的到启发。
http://www.coderanch.com/t/590712/vc/eclipse-child-container-failed-start
I think you try to run messed tomcat in eclipse.
检查一下,发觉 Window => Preference => Tomcat => JVM 里的JRE选项设置成了JDK1.6,改成jdk1.7后,问题就解决了。
2. 通过参数设置编码的问题
最近有一个比较特殊的业务需求,需要通过参数值来设定不同的编码。
最初做法是在打算在filter里通过request.getParameter获取参数值,根据这个参数值,调用request.setCharacterEncoding来指定编码。
结果获取的数据出现乱码。查了一下文档,才发觉下面这一句话:
This method must be called prior to reading request parameters or reading input using getReader(). Otherwise, it has no effect.
最后只好根据request.getQueryString的值来设置编码。