martes, 5 de enero de 2010

Dwr y Spring en NetBeans

Hola este año voy a empezar a estudiar spring, pero como spring no tiene de manera implícita ajax, tendremos que ocupar un plugin llamado Dwr (Data Web Remoting) es una libreria de java para hacer peticiones asincronas en aplicaciones web algo parecido a RCP de gwt pero de manera mas facil.

Paso 1 de 6 :Necesitamos crear un proyecto web en netbeans al cual debemos de incluir el framework de spring.

Podemos hacerlo de dos maneras una es agregarlo desde el momento que creamos nuestro proyecto web y la segunda es ya creado ir a propiedades en framewoks incluir spring.
Paso 2 de 6 : Despues de necesitamos descargar la libreria de Dwr de su pagina oficial aqui, lo agregamos a nuestro protecto de esta manera, en nuestro proyecto hay una carpeta que se llama Libreries click derecho y luego la opcion JAR/FOLDER

Paso de 3 de 6: El siguiente paso es la configuracion del web.xml en el cual se mapeara los tags para dwr, tendremos que poner lo siguiente:

<servlet>
       <servlet-name>dwr</servlet-name>
<servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>


Paso 4 de (n-3): despues crearemos un paquete llamado dwrspring y dentro una clase que se llama ControlDwrSpring que tendra un metodo llamado getMenssage:

package dwrspring;

/**
*
* @author isaac
*/
public class ControlDwrSpring {

public String getMessage(){
return "Hola mundo desde el control";
}

}

Paso 5 de 6: Ya casi por terminar lo único que necesitamos es configurar el applicationContext.xml que esta dentro de la carpeta WEB-INF, copiar todo lo siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">

<bean id="controlDwrSring" class="dwrspring.ControlDwrSpring">
<dwr:remote javascript="serviceDwrSpring">
<dwr:include method="getMessage" />
</dwr:remote>
</bean>

</beans>

Paso 6 de 6 : Despues damos run a nuestro proyecto y el la url podemos esto, el puerto puede cambiar esto depende de la configuración de nuestro servidor de pruebas de netbeans http://localhost:8084/DwrSpring/dwr/index.html


Después den clic en el link y tendrá que aparecer esto:


Tendrá que aparecer el nombre de su método de la clase Java que queremos convertir a js, para este caso es getMessage y si le damos execute aparecera el mensaje Hola mundo desde el control, bueno es un pequeño ejemplo pero con esto podemos hacer cosas mas complejas como CRUD, ademas lo podemos pegar con Jquery, incluso podemos acceder a objetos de nuestro modelo y mandarlos directamente a nuesto cliente que este caso el navegador.

Despues continuare con mas ejemplos, gracias tambien a todos los que leen mi blog si quieren aportar algo escriban a mi correo.

Dedicado a mi princesita.