1 / 19

DWR

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

hea
Télécharger la présentation

DWR

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DWR АнгелГруев Дриймикс ООД www.dreamix.eu http://academy.devbg.org

  2. Съдържание Какво е DWR Вграждане в уеб приложение web.xml dwr.xml Convertors, Creators, Signature Помощни инструменти Анотации и DWR

  3. Какво е DWR Direct Web Remoting http://getahead.ltd.uk/dwr Open Source Java библиотека Apache License, версия 2 RPC с Ajax – лесно и прозрачно за програмиста Развитие: Текуща стабилна версия – 1.1.3 В процес на разработване - 2.0

  4. Концепция DWR се състои от две части: Сървър: Java сървлет, който обработва заявките, и връща резултат Клиент: JavaScript, който изпраща заявки и обновява динамично страницата JavaScript прокси Автоматично създадено от DWR Клас на сървъра е достъпен в клиента

  5. Концепция (2)

  6. Вграждане Състои се основно от 4 стъпки dwr.jar се слага в /WEB-INF/libs dwr сървлета се описва в web.xml Създаване на dwr.xml, който трябва да се намира в WEB-INF/ Вмъкване на javascript файловете в jsp страницата Debug страница

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

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

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

  10. Converters Служат за преобразуване на параметрите на методите Много от обектите нямат нужда от описане на converter Всички примитивни типове и техните съответни класове (int, Integer ...) java.lang.String, java.util.Date Масиви и колекции от горните типове DOM обекти (като Element и Document) от DOM, XOM, JDOM and DOM4J

  11. Converters (2) Когато искаме да разрешим преобразуването на наши JavaBeans <convert converter="bean" match="your.full.package.BeanName"/> <convert converter="bean" match="your.full.package.*"/>

  12. 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);

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

  14. Демонстрация

  15. util.js Предоставен от DWR Предлага няколко метода за улесняване на клиентския код (javascript) <script type='text/javascript' src='<DWRServletPAth>/util.js'></script> • $() • addOptions and removeAllOptions • addRows and removeAllRows • onReturn • selectRange • toDescriptiveString • useLoadingMessage

  16. Анотации Новата версия на DWR улеснява ползването чрез анотации Няма нужда от dwr.xml Трябва да се използва друг DWR сървлет @RemoteProxy – указва, че даден клас ще е достъпен от клиента @RemoteMethod – указва ,че даден метод ще е достъпен от клиента @DataTransferObject – указва, че даден bean е позволено да се преобразува (convert) @RemoteProperty – указва кои атрибути ще са достъпни при преобразуването

  17. Анотации - 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>

  18. Анотации – 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;} }

  19. Заглавие на лекцията Въпроси?

More Related