DWR中引用JS的路径问题

本文探讨了在不同目录结构下,如何正确设置DWR (Direct Web Remoting) 中util.js, engine.js 和 beanName.js 的引用路径。并介绍了如何利用request.getContextPath()来解决路径问题,确保跨目录正确加载JavaScript资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dwr 引用util.js,engine.js,beanName.js路径问题如果引用util.js,engine.js,beanName.js的jsp页面在webRoot下面,则

<script type= "text/javascript" src= "dwr/engine.js"/></script>

<script type= "text/javascript" src= "dwr/util.js"/></script>

<script type= "text/javascript" src= "dwr/interface/beanName.js"></script>

就可以正确引用,若引用util.js,engine.js,beanName.js的jsp页面不在webRoot下面,则必须加上<%=request.getContextPath() %>即变成了

<script type= "text/javascript" src= "<%=request.getContextPath() %>/dwr/engine.js"/></script>

<script type= "text/javascript" src= "<%=request.getContextPath() %>/dwr/util.js"/></script>

<script type= "text/javascript" src= "<%=request.getContextPath() %>/dwr/interface/beanName.js"></script>

<%=request.getContextPath() %>这个方法应该能解决许多webRoot路径问题。很多连接的首页在webRoot下,不会引起路径问题若不在webRoot下,就会出现路径问题。都是由相对路径引出的问题。request.getContextPath()是工程名,也就是发布到web服务器的虚拟目录,比如/Sucre

补充:

<script type= "text/javascript" src= "dwr/engine.js"/></script>

这里的src="dwr/engine.js"中的dwr要与web.xml中的<url-pattern>相对应

<!-- 指定核心Servlet的URL映射 -->
< servlet-mapping >
< servlet-name >dwr-invoker </ servlet-name >
<!-- 指定核心Servlet映射的URL -->
< url-pattern >/dwr/* </ url-pattern >
</ servlet-mapping >

js引入模板

<script src='/[YOUR-WEBAPP]/dwr/ interface/[YOUR-SCRIPT].js'></script>
<script src='/[YOUR-WEBAPP]/dwr/engine.js'></script>

其实dwr根本没有生成任何“文件”。我们创建一个dwr项目后,想去查看它自动生成的js文件,不管你用什么方法搜索(比如google的桌面搜索引擎),都不会找到所谓的“dwr/interface/xxx.js”或者“dwr/engine.js”、“dwr/util.js”文件。甚至连这样的目录都没有。

这些url都是虚拟的,并不代表真实路径。engin.js和util.js还比较好办,因为我们在dwr.jar包的org.directwebremoting中可以找到。

但dwr自动产生的js文件则根本就是子虚乌有的事情。但在web.xml里的servletmapping配置:

<servlet-mapping>
      <servlet-name>dwr-invoker</servlet-name>
      <url-pattern>/dwr/*</url-pattern>
   </servlet-mapping>

可以看出,实际上以dwr/开头的url都会转DwrServlet处理。

我们可以看看以dwr/访问web会产生什么样的结果,在地址栏中输入:http://localhost:8084/firtDWR/dwr/index.html

出来一个页面,描述了你想通过dwr访问的那个java类。点击链接进去。则列出了更详细的关于这个类的描述。包含怎么在javascript里使用它,javascript能够访问的方法及无权访问的方法列表。甚至在这里,我们还可以调用其中的几个方法进行测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值