页面访问:
部署在WebRoot下的页面,可以在地址栏中直接指定页面文件访问
将页面部署到WebRoot/WEB-INF文件夹下可防止用户绕过servlet直接访问jsp等页面文件
(TomCat 服务器下的WEB-INF文件夹是一个非常安全的文件,在页面中不能直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问)
在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content 目录下,这样使得jsp页面一定需要struts的控制转发才可访问,提高页面安全性。
但是今天在jsp页面中应用WebRoot目录中的css,js文件发现十分困难,先看看我的文件结构:
目标是在index.jsp中访问default.css。
defautl.css是在index.jsp目录的父目录的父目录的CSS目录下。所以我这样写:
ps:空格为故意添加,不知为何会自动变成博客园的网址
<link href="../ ../css/default.css" rel="stylesheet" type="text/css"/> <link href="../ ../css/uploadify.css" rel="stylesheet" type="text/css"/>
在Eclipes中也出现超链接提示,说明目录正确,但是结果失败。
查询资料后,在百度百科中看到:
http://baike.baidu.com/view/1745468.htm
TomCat 服务器下的WEB-INF文件夹是一个非常安全的文件,在页面中不能直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
从上面的实验可以看出,不但是直接访问,使用" ../ ../ "之类的间接访问也不能成功。
在此多方查询资料之后,尝试使用如下方法访问:
1 <!-- 输出为项目根目录,即WebRoot --> 2 <%String path = request.getContextPath(); %> 3 <link href="${path}/css/default.css" rel="stylesheet" type="text/css"/> 4 <link href="${path}/css/uploadify.css" rel="stylesheet" type="text/css"/>
原理很简单,变量path值为项目根目录,而css就是此目录的子目录,自然可以访问。
可惜结果还是错,思考之,el表达式的${}是以page,request,session,application的顺序寻找匹配的项,而path并不在这个范围之内,也许在java脚本中直接定义的对象是局部作用域,而不是page作用域?可惜百度之后难以找到相关资料,不过结论应该是没错的。
既然EL表达式无法取出,那么java脚本应该可以达到目的吧?尝试如下:
1 <%String path = request.getContextPath(); %> 2 <link href="<%=path %>/css/default.css" rel="stylesheet" type="text/css"/> 3 <link href="<%=path %>/css/uploadify.css" rel="stylesheet" type="text/css"/>
果不其然,页面成功读出了css文件中的样式,达到目的。不过此页面中存在java脚本,不够规范,查询资料后,用以下纯EL表达式实现:
1 <c:set value="${pageContext.request.contextPath}" var="path" scope="page"/> 2 <link href="${path}/css/default.css" rel="stylesheet" type="text/css"/> 3 <link href="${path}/css/uploadify.css" rel="stylesheet" type="text/css"/>
先将ContextPath放如page中,再使用el表达式取出,问题得以解决。
在查询资料的过程中,发现如下问题:
WEB-INF目录下加载CSS和JS问题?????
http://topic.csdn.net/u/20100420/14/c4efb68c-ca03-46b9-8277-126bd1290ebe.html
此问题中,CSS和JS也在WEB-INF下,多方试验后我还是没能解决,望高手解答。
参考资料:
百度百科
http://baike.baidu.com/view/1745468.htm
http://blog.csdn.net/qwerasdf123/article/details/4189889
ITEYE问答
http://www.iteye.com/problems/37087
百度知道
相关推荐
在文中提到的“菜单设置技巧”主要指对个人常用网站和个人资料进行快速访问的设置技巧。这些技巧可以帮助用户更快地找到所需的信息或服务。例如: - **关注好友动态**:通过访问CSDN个人空间可以及时了解好友的最新...
`b.aspx`可以直接访问`a.aspx`的`Name`属性,无需通过额外的传递机制。 这些方法各有优缺点,应根据实际需求选择。QueryString简单但不安全,Application全局但要注意锁的使用,Session用户私有但可能导致内存压力...
### WiseIE浏览器设置技巧详解 #### 一、个性化设置——改变网页背景与字体样式 **1.1 改变网页背景** WiseIE浏览器提供了一种便捷的方式来改变浏览时的网页背景,使得用户可以根据个人喜好定制浏览体验。具体...
2. **访问“页面设置”对话框**:有两种方法可以进入页面设置。一是通过菜单栏,点击顶部的“文件”选项,然后在下拉菜单中选择“页面设置”。二是使用快捷键,按下`Ctrl + P`,这会打开“打印”对话框,然后点击...
综上所述,Android个人资料页面设置涉及到UI设计、数据存储、网络通信、图片处理、权限管理和兼容性等多个方面。开发者需要熟练掌握Android的相关技术,并根据具体需求进行灵活应用,才能打造出用户友好的个人资料...
以下将详细介绍几种常用的ASP.NET跨页面传值技巧。 1. **使用QueryString变量**: QueryString是通过URL参数来传递数据的方式。在a.aspx页面上,可以将Label1的文本内容添加到URL中,然后通过Response.Redirect...
在源页面设置Cookie,如`HttpCookie cookie = new HttpCookie("MyCookie"); cookie.Value = "someValue"; Response.Cookies.Add(cookie);`,然后在目标页面通过Request.Cookies["MyCookie"]获取。 6. Application或...
### Word打印设置技巧详解 #### 一、逆页序打印:高效整理打印顺序 在处理大量文档时,Word默认是从第一页打印到最后一页,这种方式可能导致打印完毕后文档页码顺序颠倒,即最后一页出现在最上面,首页反而在底部...
### SEO技巧与搜索引擎页面优化详解 #### 一、理解SEO的重要性 SEO(Search Engine Optimization),即搜索引擎优化,是指通过各种技术手段对网站进行优化,使其在搜索引擎中的排名得到提升,从而增加网站流量的一...
### 路由器设置技巧详解 #### 阿尔法V6路由器基本特性与配置方法 阿尔法V6路由器是一款高性能的家庭与小型办公环境下的网络设备,它提供了丰富的网络功能和服务,使得用户能够轻松地管理和享受互联网带来的便利。...
8. **打印设置**:在需要打印文档时,提前预览打印效果,调整页面设置,如页边距、纸张大小,可以避免浪费纸张和墨粉。 9. **系统优化**:通过关闭不必要的启动项,禁用视觉效果,可以提升电脑的启动速度和运行效率...
在Windows 8操作系统中,通知功能是一项重要的特性,它允许用户实时获取系统和应用程序的最新信息,如新邮件提醒、社交媒体...无论是想要优化工作流程,还是提升个人使用体验,了解并掌握这些设置技巧都是十分必要的。
1. **页面设置**:可以通过设计选项卡下的页面设置功能,调整PPT的页面方向、大小和版式。 2. **快速编辑**:利用快速访问工具栏可以自定义常用命令,提高编辑效率。 3. **批量打印**:PowerPoint提供了打印整个演示...
说明--TCPIP高效编程:改善网络程序...4.11 技巧43:访问RFC编辑者的页面 243 4.12 技巧44:经常访问新闻组 244 附录A 各种UNIX代码 247 附录B 各种Windows代码 250 参考书目 253 索引 257 ======================
NTFS文件系统提供了强大的权限管理功能,用户可以根据需求灵活地设置不同文件或文件夹的访问权限。 #### 技巧24:获取网页最后修改时间 在地址栏输入`javescript:alert(document.lastModified)`,可以弹出一个...
**解析:** 当用户直接访问非框架页面时,这段代码会将用户重定向到包含该页面的框架页。 ### 9. 禁止嵌套框架 **技巧:** 使用 JavaScript 来检测当前页面是否被嵌套在其他框架中,并将自身提升为顶层窗口。 **...