在IDEA里jsp项目图片显示不出来(图文解答)

博主分享了解决IDEA项目中使用中文图片名和相对路径导致显示问题的方法,包括尝试修改图片名、定位到问题在于缺少'..'前缀,并最终发现正确设置绝对路径的重要性。

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

 

如图,这是我最开始遇到的问题截图,我的运行环境是IDEA+Tomcat8.5+MYSQL,从网上找各种解决方案:比如去Tomcat的conf文件夹找server.xml加URLEncoding="UTF-8",这是解决路径里图片文件是中文不能解析的方案,

不过这种方法在我通过改掉一张图片中文名(以X方阿胶为例)之后测试运行还是不显示: 

 于是继续注释掉继续改。

图片显示不了一般两个原因:

①中文问题;(建议首先试试更改一张图片的中文名字)

②相对路径与绝对路径问题;(这是我的问题)

因为我是通过IDEA的代码提示写的相对路径

但是系统提示无法解析文件目录 

后来看另外一个解决方案是去DreamWeaver用拖动图片的方式来确定文件的相对路径

打开DreamWeaver和IDEA路径对比一看 ,果然发现了端倪:

 DW里的路径<img src="YAOimage/儿科/儿童退烧.jpg"/>没有IDEA里自动提示路径

<img src="../YAOimage/tonic/tonic01.jpg"

"../"前缀但是依然能正常显示图片,于是问题就解决了:

去掉IDEA自动提示路径里的"../"

 运行:

看了很多CSDN的帖子解决了很多问题,于是我也试着发一次自己解决问题的帖子 

第一次发帖,排版不够规范还请见谅

### IDEA 项目 JSP 页面内容加载的解决方案 #### 配置 Maven 和 Spring Boot 打包 JSP 文件 对于使用 Maven 构建并基于 Spring Boot 的 Java Web 应用程序,在打包成 jar 后可能会遇到 JSP 页面返回 404 错误的情况。这通常是因为默认情况下,Spring Boot 并会处理 JSP 模板引擎,并且需要特别配置来支持它。 为了使 JSP 正常工作,应该调整 `pom.xml` 中构建部分以确保 JSP 资源被打入最终的可执行 jar 文件内: ```xml <build> <plugins> <!-- 插件用于将静态资源和视图模板编译到目标目录 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory> </configuration> </plugin> <!-- 将 war 结构转换为 spring boot 可执行 jar --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 此外,还需要设置正确的主应用程序类路径以及 JSP 文件位置[^1]。 #### 设置 Tomcat 上下文路径 当在 IntelliJ IDEA 中运行或调试时,如果发现图片或其他媒体文件未能正确显示,则可能是由于上下文路径配置当所致。可以通过编辑项目的 run/debug configuration 来修正此问题;具体来说是在 "Deployment" 标签页下的 Application Context 字段输入 `/` 或者其他自定义前缀作为站点根路径[^2]。 #### 处理特殊字符编码问题 有时 URL 编码错误也会引起图像链接失效的现象。可以在 Tomcat 安装目录下的 conf/server.xml 文件中的 Connector 元素添加属性 URLEncoding="UTF-8"[^3] ,从而允许服务器端正常解析含有非 ASCII 字符(如汉字)的请求参数与 URI 组件。 #### 实现热部署功能提高开发效率 为了避免频繁重启服务带来的便,可以考虑启用自动重载机制以便即时反映前端代码变动。一种方法是利用 DevTools 工具库提供的 LiveReload 功能,只需引入依赖即可实现浏览器同步刷新效果而无需手动干预[^4]。 #### 更新 Artifacts 解决旧版本缓存冲突 针对某些特定场景下修改后的 JSP 文件仍无法及时生效的问题,建议清理现有 artifacts 列表后再尝试重新创建新的 artifact 。操作步骤包括移除已有的 web application entry, 接着按照向导提示完成新条目的注册过程[^5]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值