DWR学习笔记(二)
三.DwrServlet注册到web.xml后,可以通过<init-param>指定属性及值,这里列出我感觉有用的几个属性的配置!
?
??1.DWR2.0?加入了JDK5的注释(annotations),DwrServlet初始化的时候会去检查提供的注释的类,
????如果找不到就抱错了(java.lang.IllegalArgumentException:?DefaultContainer?can't?find?a?classes)。
????如果你不用annotations也可以忽略掉这个错误。但是控制台总显示这样一条异常信息可能会不习惯
????
???解决方案:指定classes属性的值为java.lang.Object,这样如果找不到就把要找的类用作为Object来处理
???????<init-param>
????????<param-name>classes</param-name>
????????<param-value>java.lang.Object</param-value>
???????</init-param>
???**注意:这只可能是使用JDK5.0以下的版本者会出现的问题,
?????因为JDK5.0以上版本都加有Annotation的支持,一定会找到要求的类
??????
??2.开启DWR能够debug和进入测试页面功能
??
???解决方案:默认值为false不开启功能
???????<init-param>
????????<param-name>debug</param-name>
????????<param-value>true</param-value>
???????</init-param>
???????
??3.一次批量(batch)允许最大的调用数量(帮助保护Dos攻击)
??
???解决方案:默认值为20,及一次可以批量最大调用20个
???????<init-param>
????????<param-name>maxCallCount</param-name>
????????<param-value>20</param-value>
???????</init-param>??
?
??4.日志配置:DWR默认使用日志来输出异常信息,所以如果DWR可以正常使用那么它要求有日志logging的支持,
?????这也是为什么我们dwr.jar要求commons-logging.jar的辅助的原因。
?????虽然DWR支持日志,但是我们在程序中可以不使用日志,即可以不调用HttpServlet.log()方法,
?????当然我们也可以调用,我们有知道使用log4j时我们会为日志的输出设置级别,所以这里也不例外
?????
???解决方案:属性值可以是FATAL,ERROR,WARN(默认),INFO,DEBUG等,很类似log4j的级别。
???????这样配置后调用日志方法就会起作用。
???????<init-param>
????????<param-name>logLevel</param-name>
????????<param-value>DEBUG</param-value>
???????</init-param>