DWR之HelloWorld

1、新建一web项目

2、选中项目右键——属性——Java  Build Path ——Libraries——Add External Jars 添加dwr.jar和 commons-logging.jar包

3、web.xml中添加如下代码:

<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>
 </servlet>
 <servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
 </servlet-mapping>

4、在WEB-INF目录下新建dwr.xml,输入以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
 <allow>
  <create javascript="service" creator="new">
   <param name="class" value = "helloWorld.Service"></param>
  </create>
 </allow>
</dwr>

5、在src目录下添加Service.class文件

package helloWorld;

public class Service {
 public String sayHello(String yourName)
 {
  //可以是访问数据库的复杂代码
  return "Hello World" + yourName;
 }
}

6、启动服务运行,访问地址http://127.0.0.1:8080/demo_dwr/dwr/

 

常见错误:

2008-8-28 9:29:47 org.apache.catalina.core.StandardWrapperValve invoke

严重: Allocate exception for servlet dwr-invoker

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

    at org.directwebremoting.dwrp.PollHandler.<clinit>(PollHandler.java:443)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:169)

    at org.directwebremoting.impl.ContainerUtil.class$(ContainerUtil.java:97)

    at org.directwebremoting.impl.ContainerUtil.setupDefaults(ContainerUtil.java:150)

    at org.directwebremoting.impl.ContainerUtil.setupDefaultContainer(ContainerUtil.java:125)

    at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:73)

    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)

    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)

    at java.lang.Thread.run(Thread.java:619)

 

原因在于缺少commons-logging.jar包,添加commons-logging.jar包即可解决问题。

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值