简单示例
JSP页面中,我们经常有引用各种图片等资源,例如下面的jsp片段中
<div class="main">
<a href="http://www.sina.com.cn/abc.htm">
<strong>我的档案</strong>
</a>
<a href="#" onclick="show()">
<img id="op" src="/images/close.gif" class="op" alt="">
</a>
</div>
在src有两种引用方法:
1、src="/images/close.gif" class="op" alt="">
2、src="images/close.gif" class="op" alt="">
这两种方法的具体含义(以Web容器为Tomcat为例):
1、第一种方法前面有“/”,表示引用的tomcat 的webapps的images目录中的gif文件,但如果你的web引用程序没有部署到root目录下(例如xiaonei),那么src正确的写法应该是src="/xiaonei/images/close.gif" class="op" alt="">
2、第二种方法要视你的jsp文件所在的目录而定,也就是引用的目录为jsp文件所在的目录下的子目录images
第一类 客户端的html相对路径:
有个html文件:a.html,其中有<link href="one.css" rel="stylesheet" type="text/css">,其中href属性表示引用的css文件的路径。
one.css:表示one.css和a.hmtl处于同一个目录。
user/one.css:表示one.css处于a.html所在目录的子目录user中。
../one.css:表示one.css位于a.hmtl上一级目录中。
../style/one.css:表示one.css位于a.hmtl上一级目录的子目录style中。
../../one.css:表示one.css位于a.hmtl上一级目录的上一级目录中。
./one.css:表示和a.hmtl同一目录。
/style/one.css:表示在站点根目录的子目录style中。
我们称上述相对路径为html相对路径。
当然也可以这样:
http://www.sina.com.cn/style/one.css:表示在www.sina.com.cn站点的根目录的子目录style中。
第二类 服务器端的相对路径:
服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(注意:html和javascript中的相对地址是由客户端浏览器解析的,这两类相对路径是不同的),也就是说这时候在jsp和Servlet中的相对地址应该是相对于你的web应用,即相对于http://192.168.0.1/webapp/的。
例如一个Servlet示例代码:
public class LoginServlet extends HttpServlet {
public LoginServlet() {
super();
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE>");
out.println(" <TITLE>A Servlet</TITLE>");
out.println(" <script src="/js/one.js"></script>");
out.println(" <HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void init() throws ServletException {
}
}
其中 out.println(" <script src="/js/one.js"></script>");的src的值要注意是以应用的根目录为相对的。
亦或是服务器端的JSP页面中,可以这样写:<script src="<%=request.getContextPath() %> /js/one.js"></script>
1533

被折叠的 条评论
为什么被折叠?



