DWR框架--让前端JS代码调用JAVA后端的方法

目录

1.DWR框架简介

2.使用步骤

2.1.pom.xml导入包

2.2.配置web.xml文件

2.2.1.先了解dwr的jar包(不同版本不一样,需注意)

2.2.2.在web.xml中增加dwr配置

2.3.配置dwr.xml

2.4.dwr.xml常用的标签解释(不完全)

2.5.前端引用

2.6.dwr包自带的测试页

3.闲话


1.DWR框架简介

  • DWR框架是一个可以允许你去创建AJAX WEB站点的JAVA开源库。
  • 允许在浏览器的JavaScript代码中调用Web服务器的Java代码
  • 通过动态把Java类生成JavaScript,让使用者感觉调用就像发生在浏览器端
  • 核心是ajax提交,实现页面数据局部刷新

2.使用步骤

2.1.pom.xml导入包


	dwr
	dwr
	1.1.3


	commons-logging
	commons-logging
	1.2

这里我选择的dwr包是1.1.3版本,不同的版本后续的配置也不一样,需要注意

2.2.配置web.xml文件

2.2.1.先了解dwr的jar包(不同版本不一样,需注意)

需要引入dwr的DWRServlet.class,具体可以打开dwr的jar包,查看具体路径和DWRServlet.class的路径

DWR框架--让前端JS代码调用JAVA后端的方法_第1张图片

 可以发现DWRServlet.class的路径是\uk\ltd\getahead\dwr

这里要留心几个文件,在当前jar的目录下:

dwr.xml:dwr框架的配置文件,后续需要配置

engine.js:前端需要引用,后续再说

util.js:前端需要引用,后续再说

2.2.2.在web.xml中增加dwr配置


	dwr-invoker
	uk.ltd.getahead.dwr.DWRServlet
	
		debug
		true
	


	dwr-invoker
	/dwr/*

其中标签中设置成true,可以启用dwr包自带的测试页面,便于后端自己调测,测试环境下推荐打开true,正式环境下推荐设置成关闭false,默认是false,不打开。

2.3.配置dwr.xml

2.2中提到了dwr.xml,这里需要配置自定义的配置文件

创建一个空的dwr.xml文件,将它放在web.xml所在的WEB-INF目录下

自定义的dwr.xml的头文件需要参照dwr包里的dwr.xml

DWR框架--让前端JS代码调用JAVA后端的方法_第2张图片

这里给出自定义的dwr.xml示例




    
        
            
            
        
        
            
        
        
        
    

2.4.dwr.xml常用的标签解释(不完全)

: 部分定义了DWR能够创建和转换的类,以供 javascript 访问。

: 标签中指定 javascript 中可以访问的 java 类,并定义 dwr 应当如何获得要进行远程的类的实例,其中 javascript=" testClass " 属性指定 javascript 代码访问对象时使用的名称。

creator是类构造器,creator="new" 属性指定 java 类实例的生成方式, new 意味着 DWR 应当调用类的默认构造函数来获得实例,其他的还有 spring 方式,通过与 IOC 容器 Spring 进行集成来获得实例等

默认情况下DWR1.1有8种创造器。它们是:

new: 用Java的new关键字创造对象。
none: 它不创建对象。 (v1.1+)
scripted: 通过BSF使用脚本语言创建对象,例如BeanShell或Groovy。
spring: 通过Spring框架访问Bean。
jsf: 使用JSF的Bean。 (v1.1+)
struts: 使用Struts的FormBean。 (v1.1+)
pageflow: 访问Beehive或Weblogic的PageFlow。 (v1.1+)
还有一个属性为scope,默认为page ,其值还有application、session、request、script。

下的配置节点:
标签指定要公开给 javascript 的 java 类名。
标签指定要公开给 javascript 的方法。不指定的话就公开所有方法。
标签指定要防止被访问的方法。
标签指定一个J2EE角色作为访问控制检查。

: 标签由于dwr只支持json的数据格式,因此在dwr中我们要读取javaBean中的属性,就必须将其转换成json的数据格式,这需要配置convert进行转换。


  

其中include表示只允许value中的属性可以访问,exclude表示除了value中的属性,其他属性均可访问。如果不设定param,则所有属性均可访问。

2.5.前端引用

在页面中引入以下javascript脚本






                    
                    

你可能感兴趣的:(框架,前端,javascript,java)