jsp图片显示问题(绝对路径和相对路径)

本文介绍了在网页项目中正确配置图片路径的方法,包括相对路径和绝对路径的区别及使用场景,特别强调了服务器端和客户端路径解析的不同,并通过具体实例展示了如何在JSP页面中正确加载图片。

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

大概操作:

1.将图片文件放在工程项目文件夹内。注意要刷新文件夹,在eclipse当中。



2.最好建立一个 “images” 文件夹 ,方便图片文件的管理


3.这里用的是相对路径,如果用绝对路径的话会影响在浏览器(客户端的使用)。就会出现常说的 图片在浏览器中无法显示。


原因:绝对路径相对路径


我试过修改Tomcat  sever.xml 文件,但是好像并没有什么用,还会影响Tomcat的启动。


1、 服务器端的地址 
  服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的 (不同于html和JavaScript中的相对地址,他们是 由客户端浏览器解析的 )也就是说这时候在jsp和servlet中的相对地址应该是相对于你的web应用,即相对于http://192.168.0.1/test/的。 
  其用到的地方有: 
     forward:servlet中的request.getRequestDispatcher(address);这个address是在服务器端解析的,所以,你要forwarder到user/a.jsp应该这么写:request.getRequestDispatcher("/user/a.jsp ")这个/相对于当前的web应用test,其绝对地址就是:http://192.168.0.1/test/user/a.jsp。 
     redirect:在jsp中<%response.sendRedirect("/rtccp/user/a.jsp");%> 


  2、 客户端的地址 
  所有的html中的相对地址都是相对于http://192.168.0.1/的,而不是http://192.168.0.1/test/的 。 
  Html中的form表单的action属性的地址应该是相对于http://192.168.0.1/的,所以,如果提交到user/a.jsp为:action="/test/ user/a.jsp" ;提交到servlet为action="/test/handleservlet" 

  Javascript也是在客户端解析的,所以其相对路径和form表单一样。


现在实行的具体步骤:


1.将图片放入项目文件中,不管哪个文件夹,只要在工程文件的根目录下即可。


2.编写test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<img src = "xxxxx.png"/>
gthjteyrj
<body background="/175121_9981977164745.png">



Insert title here gthjteyrj
</body>
</html>

3.运行即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值