众所周知,通常把jsp页面放在webRoot的/WEB-INF下可以防止访问者直接输入页面,而不经过struts处理请求的恶意操作(当把页面直接放在webRoot下时)。而webRoot的/WEB-INF下的页面是受保护的,用户无法通过形如http://localhost:8080/test/webRoot/WEB-INF/content/xx.jsp来访问,他们的访问都必须透过struts处理请求才能达到。
然而,当把页面放在/web-inf下面时,JSP页面还是避免不了跟“外部”的js,css,图片“交互”,因为需要引入一些webRoot/css, webRoot/js, webRoot/images,而此时很容易引入失败,一般来说,此时用相对路径行不通了,所以必须使用绝对路径!下面一一总结。
一、引入webRoot/css
<link href="<%=request.getContextPath()%>/css/default.css" rel="stylesheet" type="text/css"/>
这个<%=request.getContextPath()%>即为/hh_test(项目名称),而<%=request.getContextPath()%>/css则相当于用绝对路径直接定位到了webRoot/css.
二、引入webRoot/js
<script type="text/javascript" language="javascript" src="<%=request.getContextPath()%>/js/jquery-1.4.4.min.js"></script>
三、引入webRoot/images
<img src="<%=request.getContextPath()%>/images/4.gif" alt="加载外部图片" />
四、当透过引入独立的js加载webRoot/images下的图片
这时候由于独立的js文件中无法使用<%=request.getContextPath()%>获得项目的根路径时,此时还必须在独立的js文件中写一段Js代码读取项目跟路径:
//获取当前网址,如: http://localhost:8088/test/test.jsp var curPath=window.document.location.href; //获取主机地址之后的目录,如: test/test.jsp var pathName=window.document.location.pathname; var pos=curPath.indexOf(pathName); //获取主机地址,如: http://localhost:8088 var localhostPaht=curPath.substring(0,pos); //获取带"/"的项目名,如:/test var root=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
然后再读取该图片文件的目录:
var path = root + "images/4.gif";
五、iframe中引入web-inf下的jsp页面
通常,
<iframe name="headerFrame" id="headerFrame" style="height: 100%; visibility: inherit; width: 100%; z-index: 2" scrolling="no" frameborder="0" src="xx.jsp"></iframe>
引入xx.jsp页面到该iframe中时,放在/webRoot下才能直接引入,而此时在web-inf下,无法直接引入,所以需要改成src="Test!.xxx.action",然后再在响应的action中写响应的逻辑视图,并在struts.xml中配置响应的xx.jsp,即还是得通过struts处理请求才能响应页面!
小结:最好把jsp页面放在/WEB-INF下,而jsp页面引入"外部”js,css,images时,必须获取项目的根路径,再加上/css(或/js 或/images)即使用绝对路径的方法,而不是相对路径的方法,才能访问到放置在webRoot下的资源!
相关推荐
其中,WebRoot目录(通常命名为`WebContent`或`src/main/webapp`)是用于存放Web资源(如HTML、CSS、JS文件及JSP页面等)的根目录。 2. **WebRoot目录**:在标准的Java Web应用中,WebRoot目录是指包含所有Web资源的...
1、如何开发项目 (a)了解用户需求(静态DEMO) (b)了解数据设计(表关系) 2、编码 (a)搭建开发框架 1、搭建Struts框架完成页面跳转 2、静态页面复制到工程中 ... /WEB-INF/jsp/main/main.jsp 5、设置默认Action
“src”目录包含了项目的源代码,“WebRoot”则是Web应用的主要部分,其中包含了静态资源如HTML、CSS、JavaScript文件以及JSP页面。“WEB-INF”目录则存放了Web应用的关键配置文件“web.xml”及第三方库(位于“lib...
- JSP碎片:`.jspf` - `<context root>/<subsystem path>/` 或 `<context root>/WEB-INF/jspf/<subsystem path>/` - CSS样式表:`.css` - `<context root>/css/` - JavaScript文件:`.js` - `<context root>/js/` - ...
在Eclipse开发环境中,Web项目常见的目录结构中,WebRoot和WebContent是两个非常重要的目录,它们在动态Web项目中扮演着不同的角色,但同时也具有一些共同点。为了深入理解它们的区别和用途,我们需要详细探讨这两个...
通常的做法是在JSP页面中引入ckeditor相关的JavaScript和CSS文件,并设置好必要的参数,例如指定ckfinder的路径等。这样就可以实现在JSP页面中使用ckeditor编辑器,并且具备文件浏览、上传等功能。 #### 四、注意...
- JSP片段:`<context root>/<subsystem path>/` 或 `.jspf:<context root>/WEB-INF/jspf/<subsystem path>/` - CSS样式表:`<context root>/css/` - JavaScript文件:`<context root>/js/` - HTML页面:`...
通常在`WebRoot`下的`WEB-INF`之外,例如`WebRoot/css`, `WebRoot/js`, `WebRoot/images`。 2. **JSP(JavaServer Pages)**:动态页面,通常用于生成HTML内容。例如,`WebRoot/WEB-INF/jsp`目录下可能包含各种JSP...
在`src/main/webapp/WEB-INF`下,我们需要创建`web.xml`文件,配置SpringMVC的前端控制器DispatcherServlet和Servlet上下文监听器ContextLoaderListener: ```xml <!-- Spring MVC DispatcherServlet --> ...
这个目录包含了Crystal Reports用于显示报表所需的静态资源,如CSS、JavaScript和图像文件。 5. **添加tld文件**: 将名为crystal-tags-reportviewer.tld的文件复制到Web项目的WEB-INF目录下。这个文件定义了标签...
在`WebRoot`目录下创建`scripts`和`styles`子目录,以及`menu-images`目录来存储菜单所需的JavaScript库、CSS样式表和图片资源。 #### 4. 配置Struts 在`struts-config.xml`文件中注册`MenuPlugIn`插件,并设置其...
\web\WebRoot\do_register.jsp D:\web\WebRoot\index.jsp D:\web\WebRoot\login.jsp D:\web\WebRoot\logout.jsp D:\web\WebRoot\mydb.jsp D:\web\WebRoot\register.css D:\web\WebRoot\register....
`WebRoot`目录是Web应用程序的标准根目录,包含HTML、JSP、CSS、JavaScript、图片等静态资源。在Struts2项目中,我们通常会在`WebRoot/WEB-INF`下放置`struts.xml`配置文件,这是Struts2的核心配置文件,用于定义...
6. **样式表(CSS)和脚本(JavaScript)**:用于美化界面和实现页面交互,可能会在WebContent/WEB-INF/static或类似目录下找到。 7. **图片和其他静态资源**:与博客相关的图像、图标等资源,通常存放在WebContent...
【描述】"Tomcat-ROOT.rar" 提示这是一个包含Tomcat服务器根目录(即WEB-INF和相关的文件)的压缩包。通常,这个目录包含了Web应用的基本组件,如WEB-INF下的web.xml(部署描述符),类文件,以及静态资源(HTML、...
这个网上书城项目不仅涵盖了基本的JSP知识,还涉及到CSS(Cascading Style Sheets)和JS(JavaScript)等前端技术,以及与JavaWeb相关的其他概念。 首先,JSP的核心在于其生命周期,包括翻译、编译、加载和实例化等...
3. **复制JAR文件**:将`lib`文件夹下的6个核心JAR文件复制到工程的`/Webroot/WEB-INF/lib`目录下。 - `Struts2-core-2.0.x.jar`: Struts2的核心包。 - `xwork-2.0.x.jar`: Xwork2库,是Struts2的基础。 - `ognl-...
在开发Java Web应用程序时,JSP(JavaServer Pages)经常被用来创建动态网页,而CSS(Cascading Style Sheets)和JavaScript文件则用于实现页面样式和交互功能。在JSP文件中引用外部CSS或JS文件是一项基本操作,但...
- `/WEB-INF/`: 配置文件和私有文件,如`web.xml`,不能直接通过网络访问。 - `/WEB-INF/classes/`: 应用程序的类文件。 - `/WEB-INF/lib/`: 存放应用所需的JAR库文件。 测试Tomcat是否正确安装,可以在浏览器中...