posts - 431,  comments - 344,  trackbacks - 0

自从换工作之后就没有研究过DWR了。下载了最新的DWR2.0M2版本。2.0加了很多东西,也有不少变化的地方。最容易看到的变化就是包名的变化了,由 uk.ltd.getahead 变成了 org.directwebremoting 。
        换上了新的配置

     < servlet >
         < servlet-name > dwr-invoker </ servlet-name >
         < servlet-class > org.directwebremoting.servlet.DwrServlet </ servlet-class >
         < init-param >
           < param-name > debug </ param-name >
           < param-value > true </ param-value >
         </ init-param >
         < load-on-startup > 1 </ load-on-startup >
     </ servlet >
启动服务,抱错了。

Java.lang.IllegalArgumentException: DefaultContainer can't find a classes
       at org.directwebremoting.impl.DefaultContainer.getBean(DefaultContainer.java:216)
       at org.directwebremoting.annotations.AnnotationsConfigurator.configure(AnnotationsConfigurator.java:50)
       at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:121)

      在DWR的Maillist里面搜索了一下,还有答案,原来DWR2.0 加入了JDK5的注释(annotations).DwrServlet初始化的时候会去检查注释的类,找不到就抱错了。如果你不用annotations也可以忽略掉这个错误。不过看起来总是不爽。有人提出了方案。这样就ok了。

 

 


<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "
http://java.sun.com/dtd/web-app_2_3.dtd ">

<web-app>
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
  <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
            <param-name>classes</param-name >
            <param-value>java.lang.Object</param-value>
    </init-param >
    <load-on-startup>100</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
 
</web-app>

posted on 2006-10-08 08:01 周锐 阅读(309) 评论(0)  编辑  收藏 所属分类: Ajax

只有注册用户登录后才能发表评论。


网站导航: