DWR的注释(annotations)使用及反向调用(Reverse Ajax)

先说说注释语法,省掉dwr.xml。(自从用了java 5 之后,现在越看一堆堆的配置文件越烦,越来越喜欢注释方式来的直接简单了)

首先下载最新的稳定版本的dwr.jar文件放到你的工程中。(还有需要其它的吗?不需要了,dwr就是这么简单)

然后在web.xml中添加如下一段

<!-- DWRServlet -->
  <servlet>
   <servlet-name>dwr-invoker</servlet-name>
   <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
   <init-param>
<!-- 默认为false,调试用,可以访问http://地址:端口/上下文/dwr 来进行测试 -->
    <param-name>debug</param-name>
    <param-value>true</param-value>
   </init-param>
<!--这就是传说中的DWR反转调用的开关了,默认也是false -->
   <init-param>
    <param-name>activeReverseAjaxEnabled</param-name>
    <param-value>true</param-value>
   </init-param>
<!--日志级别不多说了-->
   <init-param>
    <param-name>logLevel</param-name>
    <param-value>WARN</param-value>
   </init-param>
<!--这块注意了,关键来了,把使用DWR注释的类都要加在这里,2.0的DWR好像还不支持包扫描,希望以后能提供这个功能,3.0我还没注意有没有这个功能,现在还没出正式版-->
   <init-param>
    <param-name>classes</param-name>
    <param-value>
                 org.relax.service.SectionManager,
     org.relax.service..entity.Section
             </param-value>
   </init-param>
  </servlet>
<!--这块不用多说了吧,如果看不懂,哪凉快哪呆着去吧-->
  <servlet-mapping>
   <servlet-name>dwr-invoker</servlet-name>
   <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

在这里再说明一下有的文章用的是uk.ltd.getahead.dwr.DWRServlet,其实他只是继承了一下 org.directwebremoting.servlet.DwrServlet自己什么也没做,所以这两个类用哪个都行(这么做应该是为了兼容以前的版本,猜的,1.0我没用过)。

下面看具体的类吧。

@Service
@RemoteProxy(creator = SpringCreator.class, name = "sectionManager", creatorParams = @Param(name = "beanName", value = "sectionManager"))
public class SectionManager extends DefaultEntityManager<Section, Integer> {
  @Autowired
  OriginCollectDataManager originCollectDataManager;
  @RemoteMethod
  public Section get(Integer id) {
   return super.get(id);
  }
  @RemoteMethod
  public List<Section> getAll() {
   return super.getAll();
  }
}

时间: 2024-10-04 10:09:01

DWR的注释(annotations)使用及反向调用(Reverse Ajax)的相关文章

Dwr3.0纯注解(纯Java Code配置)配置与应用浅析三之后端反向调用前端_java

在前两篇中我们已经介绍了Dwr零配置文化化和前端调用后端的方法,想必大家应该已经会熟练掌握了,下来我们主要探讨一下后端怎么反向调用前端的js方法: 就如前两篇说到了用Dwr注册了两个Service组件,一个是remote,另外一个是页面使用到的controller,这个remote是在页面一加载进来就会被调用的,这样就使得会话和页面ScriptSession建立了绑定的关系,方便我们后面使用它的scriptSessionId进行页面定向推送: 下面是建立会话和页面ScriptSession的方法

jquery ajax-重复调用jQuery ajax刷新Chart数据内存泄露问题,急~~~

问题描述 重复调用jQuery ajax刷新Chart数据内存泄露问题,急~~~ 在网页中使用标签定义了图表,在js用setInterval定时使用ajax获取数据后刷新图表数据.发现浏览器内存一直在涨,浏览器使用的是FireFox. js代码如下: function FlowPageReday(){ var RefreshTimeOut = 10*1000; RefreshFlow(); /*每隔一定的时间刷新页面*/ setInterval("RefreshFlow()", Ref

ajax-前台js调用后台Ajax方法 提示未定义

问题描述 前台js调用后台Ajax方法 提示未定义 后台方法以及注册AjaxWeb.config配置js调用就报错也应用了jquery.js这个文件本地直接运行时可以的,但是传到服务器就不行了!! 解决方案 ajax 前台js调用后台方法JS前台调用后台方法后台调用前台js的方法 解决方案二: ajaxpro使用的prototype和jquery会争用$的使用权出现冲呕吐.jquery要调用jQuery.noConflict()释放$的使用 而且注意aspx要存在runat=""ser

网页-关于调用jQuery ajax交互的原理问题

问题描述 关于调用jQuery ajax交互的原理问题 比如这样的代码 $.ajax({ 'url': '/chk_user.php', 'type': 'get', 'data': { 'ajax': 'checkuser', 'username': value }, 'cache': false, 'async': false, 'success': function(data) { redata = data; } }); 通过浏览器开发者模式查看 实际上是访问了 http://www.x

ajax调用后台:AJAX调用慎用POST方式,有严重的问题或者BUG

这个问题只存在客户端是IE或IE内核的情况,但是你无法控制客户端使用什么浏览器,所以仍然会给你的应用造成很大的性能问题. 我们先说现象: 服务端:我们只用一个静态的HTML页面ok.html,内容只返OK. 然后我们写一个ajax调用的html在客户端访问: <script> function send_request(method,url,param) {     http_request = false;     if (window.XMLHttpRequest) {         h

创建公共调用 jQuery Ajax 带返回值_jquery

复制代码 代码如下: <script type="text/javascript"> /* 请求Ajax 带返回值,并弹出提示框提醒 --------------------------------------------------*/ function getAjax(url, parm, callBack) { $.ajax({ type: 'post', dataType: "text", url: url, data: parm, cache:

ajax调用后台: ajax事件的调用顺序

jquery的ajax请求方法: $.ajax({            type: "GET",                dateType:"html",                url: "index.html",                error: function(msg) { alert("error"); },                complete: function(msg) { a

JDK5.0中注释(Annotation)的用法

很多API都需要相当数量的样板代码,比如,为了编写一个JAX-RPC的WEB服务,你需要提供一个接口和一个实现类.如果这个程序已经被加了注释Annotations以说明那个方法需要被远程调用,那么我们可以一个工具去自动生成这些样板代码. 还有一些API需要在程序代码另外维护一些文件,比如JavaBean需要一个BeanInfo类,EJB需要一个部署描述文件.如果我们能够把这些需要另外维护的文件内容以注释Annotation的方式和代码放在一起维护,一定会更加方便同时也减少出错的机会. Java平

Dwr3.0纯注解(纯Java Code配置)配置与应用浅析二之前端调用后端_java

首先当我们将Dwr3配置好以后,我们可以在浏览器中测试一下,查看一下我们配置的Dwr有没有生效,方法是 http://localhost:[你的服务器端口号,默认不写为80]/[ Web 名称 ]/dwr/,回车后就会出现你之前定义的Dwr的script的名称了,如下所显示这样: 当你点击第一个remote的时候会出现如下所示页面: 出现这样的页面就说明你的Dwr基本配置成功了,为什么说基本成功,因为这里面显示了你这个Service组件所有的方法,但是有一点就是,只有你注解了@RemoteMet