---
title: "AJAX y APPFUSE 1.8.2 .. DWR en funcionamiento"
url: "https://victorfarina.com/blog/ajax_y_appfuse_1_8_2_dwr_en_funcionamien"
author: "Víctor Fariña"
published: "2005-12-19"
updated: "2005-12-19"
language: "es"
categories: ["tecnología"]
---

# AJAX y APPFUSE 1.8.2 .. DWR en funcionamiento

Pasos basicos para poner a andar DWR en una aplicacion basada en APPFUSE (1.8.2)

1\. Añadir DWR jar en /lib/dwr-1.0 2. Añadir a /lib/lib.properties:

\# # DWR - https://dwr.dev.java.net/ (Direct Web Remoting) # dwr.version=1.0 dwr.dir=${lib.dir}/dwr-${dwr.version} dwr.jar=${dwr.dir}/dwr.jar

 

3\. Añadir al /properties.xml:

<!-- Web --> <path id="web.compile.classpath"> ... <pathelement location="${dwr.jar}"/> </path>

 

<!--more--> 4. Añadir al /build.xml:

<target name="package-web" depends="compile-web,jsp-2" description="Package WAR">

...>

<war destfile="${webapp.dist}/${webapp.war}"

webxml="${webapp.target}/WEB-INF/web.xml" compress="true">

...

<lib file="${dwr.jar}"/>

</war>

</target>

 

5\. Añadir servlet para DWR en /metadata/web/servlets.xml:

<!-- dwr servlet --> <servlet> <servlet-name>dwr-invoker</servlet-name> <display-name>DWR Servlet</display-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet>

 

6\. Añadir DWR servlet mapping en /metadata/web/servlet-mappings.xml:

<!-- dwr mapping --> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/\*</url-pattern> </servlet-mapping>

 

 

7(Opcional). Excluir DWR del sitemesh en /web/WEB-INF/classes/decorators.xml:

<excludes> <pattern>/dwr/\*</pattern> </excludes>

 

 

8\. Añadir la configuracion de DWR,  /WEB-INF/dwr.xml:

<dwr> <allow> <convert converter="bean" match="com.queres.\*"/> <create creator="spring" javascript="userManager"> <param name="beanName" value="userManager"/> <include method="getUser"/> <include method="getUsers"/> </create> </allow> </dwr>

 

Si estas usando APPFUSE con la configuracion por defecto, tendras un error al intentar acceder a esta pagina, para arerglarlo tienes asegurarte que spring deja acceder al metodo getUser, en el archivo applicationContext-security.xml: <bean id="userManagerSecurity" class="net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor"> <property name="authenticationManager" ref="authenticationManager"/> <property name="accessDecisionManager" ref="accessDecisionManager"/> <property name="objectDefinitionSource"> <value> com.queres.sgei.service.UserManager.getUsers=ADM com.queres.sgei.service.UserManager.removeUser=ADM </value> </property> </bean> o bien las pruebas las puedes realizar con otros metodos que no sean getUser/getUsers.

Traducido y adaptado de : [http://lifeasastruct.blogspot.com/](http://lifeasastruct.blogspot.com/)
