DWR(Direct Web Remoting)是一种用于改善web页面与Java类交互的开源库,它允许JavaScript在浏览器端调用服务器端的Java方法,实现动态的Web应用。
DWR通过反射机制,使得服务器端的Java对象可以被JavaScript直接调用。它的工作原理是:当JavaScript调用一个远程Java方法时,DWR会将这个调用转发到服务器端,执行相应的方法,并将结果返回给JavaScript。
DWR主要涉及以下几种类型:
DWR适用于需要频繁进行前后端交互的应用,例如:
在DWR中指定域名通常是为了安全考虑,防止跨站请求伪造(CSRF)攻击。可以通过配置DWR的dwr.xml
文件来实现域名的指定。
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
"http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<create creator="new" javascript="MyJavaClass">
<param name="class" value="com.example.MyJavaClass"/>
</create>
</allow>
<signatures>
<![CDATA[
import com.example.MyJavaClass;
MyJavaClass.myMethod();
]]>
</signatures>
<init>
<set-property property="activeReverseAjaxEnabled" value="true"/>
<set-property property="crossDomainSessionSecurity" value="false"/>
<set-property property="allowedDomains" value="http://example.com,https://anotherdomain.com"/>
</init>
</dwr>
如果在配置DWR指定域名时遇到问题,可能是以下原因:
dwr.xml
文件放置在正确的路径下,通常是WEB-INF
目录下。dwr.xml
文件。通过以上配置和注意事项,可以有效地在DWR中指定域名,确保应用的安全性和稳定性。
领取专属 10元无门槛券
手把手带您无忧上云