免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5705 | 回复: 10
打印 上一主题 下一主题

[JavaScript] 怪,extjs引用问题。 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-06 16:19 |只看该作者 |倒序浏览
代码如下:
index.jsp
  1. <%
  2. String path = request.getContextPath();
  3. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  4. %>
  5. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  6. <html>
  7. <head>
  8. <title>Hello Ext</title>
  9. <link rel="stylesheet" type="text/css" href="<%=basePath%>WEB-INF/resources/css/ext-all.css">
  10. <script type="text/javascript" src="<%=basePath%>WEB-INF/extjs/ext-all.js"></script>
  11. <script type="text/javascript" src="<%=basePath%>WEB-INF/extjs/HelloExt.js"></script>
  12. </head>
  13. <body></body>
  14. </html>
复制代码
文件目录结构

WebRoot
      |-------META-INF
      |-------WEB-INF
      |                 |---------extjs
      |                 |                |--------ext-all.js
      |                 |                |--------HelloExt.js
      |                 |---------resources
      |                                  |--------css
      |                                                |-------ext-all.css
      |-------index.jsp

如果将 extjs、resources目录从 WEB-INF 目录下移动到 WebRoot 目录下,同时修改 index.jsp 文件中的引用路径为
                        <%=basePath%>extjs/ext-all.js
                        <%=basePath%>extjs/HelloExt.js
                        <%=basePath%>resources/css/ext-all.css

则一切正常。

是啥子原因啊?

论坛徽章:
0
2 [报告]
发表于 2012-11-27 17:13 |只看该作者
WEB-INF下的文件在WEB访问时是禁止的。
                  
      <%=basePath%>extjs/ext-all.js

你确定要将JS 放到WEB-INF下,需要写个过滤器,对于CSS 和 JS ,在过滤器里面重新定位一下实际位置。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2012-11-28 08:47 |只看该作者
@nan_jia问题是如何写啊?

这就是我不知道啊。

论坛徽章:
0
4 [报告]
发表于 2012-11-28 09:26 |只看该作者
CSS 和 JS 放到WEB-INF 下其实没有任何意义。 这样就很好,
  1. src
  2.     - main
  3.         - webapp
  4.             - scripts
  5.             - styles
  6.             - images
  7.             - WEB-INF
  8.                 - views
  9.                     - jsp
  10.                     - etc.
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2012-11-28 09:48 |只看该作者
@nan_jia我的jsp 放到 WEB-INF 下面也访问不到。

现在不知道是啥子原因了。

论坛徽章:
0
6 [报告]
发表于 2012-11-28 17:20 |只看该作者
JSP 也是客户端直接访问不到的。如果用STRUTS2 的话可以配置一下。其它的你就要想办法了,比如写个过滤器或是写个SERVLET转一下。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2012-11-30 10:35 |只看该作者
@nan_jia这个过滤器咋写啊?

能给个例子不?

论坛徽章:
0
8 [报告]
发表于 2012-12-13 13:15 |只看该作者
本帖最后由 tong0245 于 2012-12-13 13:16 编辑

已经给回答了。
web-inf下的资源 ,只能被 应用程序(java servelt,jsp) 访问。
如果确实需要隐藏。还要客户端能访问 。
(感觉有点矛盾,如果jsp隐藏还有些意义,静态资源看到的应该都一样。隐藏意义大吗)
写专门的 action ,contrller。 配置个路径。去加载 对应的文件 写到浏览器就ok了

论坛徽章:
0
9 [报告]
发表于 2012-12-13 13:28 |只看该作者
本帖最后由 tong0245 于 2012-12-13 13:51 编辑

@RequestMapping("/resources")
public class ResourcesController {

    @RequestMapping("/{path}")
    public void home(@PathVariable("path") String path,
            HttpServletRequest request,
            HttpServletResponse response) throws FileNotFoundException, IOException {

        FileReader read = null;
        BufferedReader br = null;
        try {
            String fileName = request.getSession().getServletContext().getRealPath(
                    "/")
                    + "WEB-INF/"+path;
            read = new FileReader(fileName);
            br = new BufferedReader(read);
            String line = null;
            while ((line = br.readLine()) != null) {
                response.getWriter().write(line);
            }
        } finally {
            if (br != null) {
                br.close();
            }
            if (read != null) {
                read.close();
            }
        }


    }
}

论坛徽章:
0
10 [报告]
发表于 2012-12-13 13:29 |只看该作者
如要访问 WEB-inf/a.js
<script src=/resouces/a.js"/>
以上代码不保障无bug。 路径自己修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP