slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
DWR PowerPoint Presentation
Download Presentation
DWR

Loading in 2 Seconds...

play fullscreen
1 / 19

DWR - PowerPoint PPT Presentation


  • 167 Views
  • Uploaded on

DWR. Ангел Груев. Дриймикс ООД. www.dreamix.eu. http://academy.devbg.org. Съдържание. Какво е DWR Вграждане в уеб приложение web.xml dwr.xml Convertors, Creators, Signature Помощни инструменти Анотации и DWR. Какво е DWR. Direct Web Remoting http://getahead.ltd.uk/dwr

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'DWR' - hea


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

DWR

АнгелГруев

Дриймикс ООД

www.dreamix.eu

http://academy.devbg.org

slide2
Съдържание

Какво е DWR

Вграждане в уеб приложение

web.xml

dwr.xml

Convertors, Creators, Signature

Помощни инструменти

Анотации и DWR

slide3
Какво е DWR

Direct Web Remoting

http://getahead.ltd.uk/dwr

Open Source Java библиотека

Apache License, версия 2

RPC с Ajax – лесно и прозрачно за програмиста

Развитие:

Текуща стабилна версия – 1.1.3

В процес на разработване - 2.0

slide4
Концепция

DWR се състои от две части:

Сървър: Java сървлет, който обработва заявките, и връща резултат

Клиент: JavaScript, който изпраща заявки и обновява динамично страницата

JavaScript прокси

Автоматично създадено от DWR

Клас на сървъра е достъпен в клиента

slide6
Вграждане

Състои се основно от 4 стъпки

dwr.jar се слага в /WEB-INF/libs

dwr сървлета се описва в web.xml

Създаване на dwr.xml, който трябва да се намира в WEB-INF/

Вмъкване на javascript файловете в jsp страницата

Debug страница

web xml
web.xml

<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>

</servlet>

<servlet-mapping>

<servlet-name>dwr-invoker</servlet-name>

<url-pattern>/dwr/*</url-pattern>

</servlet-mapping>

DWR Servlet path

dwr xml
dwr.xml

<!DOCTYPE dwr PUBLIC

"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"

"http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>

<allow>

<create creator="..." javascript="..."/>

<convert converter="..." match="..."/>

</allow>

<signatures>

...

</signatures>

</dwr>

creators
Creators

<allow>

<create creator="..." javascript="..."

scope="...">

<param name="..." value="..."/>

<auth method="..." role="..."/>

<exclude method="..."/>

<include method="..."/>

</create>

...

</allow>

Creators:

scripted

spring

jsf

new

struts

pageflow

converters
Converters

Служат за преобразуване на параметрите на методите

Много от обектите нямат нужда от описане на converter

Всички примитивни типове и техните съответни класове (int, Integer ...)

java.lang.String, java.util.Date

Масиви и колекции от горните типове

DOM обекти (като Element и Document) от DOM, XOM, JDOM and DOM4J

converters 2
Converters (2)

Когато искаме да разрешим преобразуването на наши JavaBeans

<convert converter="bean"

match="your.full.package.BeanName"/>

<convert converter="bean"

match="your.full.package.*"/>

converters 3
Converters(3)

public class Remoted {

public void setPerson(Person p) {

// ...

}

}

public class Person {

public void setName(String name) { ... }

public void setAge(int age) { ... }

// ...

}

JavaScript:

var p = { name:"Fred", age:21 };

Remoted.setPerson(p);

signatures
Signatures

Използват се за да дефинират типовете използвани в колекции (когато не са определени)

Съдържа Integer обекти

public class Check

{

public void setLotteryResults(List nos){...}

}

<signatures>

<![CDATA[

import java.util.List;

import com.example.Check;

Check.setLotteryResults(List<Integer> nos);

]]>

</signatures>

util js
util.js

Предоставен от DWR

Предлага няколко метода за улесняване на клиентския код (javascript)

<script type='text/javascript' src='<DWRServletPAth>/util.js'></script>

  • $()
  • addOptions and removeAllOptions
  • addRows and removeAllRows
  • onReturn
  • selectRange
  • toDescriptiveString
  • useLoadingMessage
slide16
Анотации

Новата версия на DWR улеснява ползването чрез анотации

Няма нужда от dwr.xml

Трябва да се използва друг DWR сървлет

@RemoteProxy – указва, че даден клас ще е достъпен от клиента

@RemoteMethod – указва ,че даден метод ще е достъпен от клиента

@DataTransferObject – указва, че даден bean е позволено да се преобразува (convert)

@RemoteProperty – указва кои атрибути ще са достъпни при преобразуването

web xml1
Анотации - web.xml

<servlet>

<servlet-name>DWR-Servlet</servlet-name>

<servlet-class>

org.directwebremoting.servlet.DwrServlet

</servlet-class>

<init-param>

<param-name>classes</param-name>

<param-value>

com.example.RemoteFunctions,

com.example.RemoteBean

</param-value>

</init-param>

</servlet>

slide18
Анотации – java класове

@RemoteProxy(name="Functions")

public class RemoteFunctions {

@RemoteMethod

public int calculateFoo() {...}

}

@DataTransferObject

public class Foo {

@RemoteProperty

private int foo;

public int getFoo() {return foo;}

@RemoteProperty

public int getBar() {return foo * 42;}

}