java.lang.NoClassDefFoundError: javax/activation/DataSource
奇怪的异常。在创建一个MimeMessage对象的时候抛出的。
在项目的WEB-INF/lib中的确有activation.jar,但却总报这个错误。直到后来将activation.jar包拷贝到tomcat的common/lib下才算解决。不过解决的不明不白,郁闷。
星期五, 十二月 09, 2005
Tomcat环境下,字符编码的filter
在web.xml中,配置"Set Character Encoding" filter,可以实现客户端传入服务器端的Request对象中的数据的正确解码。
我使用的filter是Craig McClanahan写的,这位仁兄大名鼎鼎,他是Struts框架的主要体系设计师和开发者,Tomcat4的主设计师和Java Web Services Developer Pack实现包的主设计师,领导着Sun的JavaServer Faces规范开发,同时也是Java EE平台的Web Layer Archiecture。filter的代码附在文后。
web.xml中的配置如下:
<!-- GBK Encodinbg Filter definition -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<!-- GBK Encoding Filter mapping -->
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
星期三, 十二月 07, 2005
Spring配置, 属性,bean和local的区别
经常的<ref bean="aaa"/>或者<ref local="bbb"/>,这两者有什么区别?
看了http://www.springframework.org/dtd/spring-beans.dtd才明白,原来bean的类型是CDATA,local是IDREF,这表示,如果用local,那么,当前xml中必须存在id为"bbb"的bean声明,否则xml validator会报错的。
这也是local的本来含义,“本地”的bean。
如果<ref>指向的bean是在其它的配置中声明的,那么,必须用bean属性设置