博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
request.getContextPath() 路径正确但是资源加载不出来的解决方案
阅读量:2827 次
发布时间:2019-05-14

本文共 1110 字,大约阅读时间需要 3 分钟。

文章目录

[1] 错误现象

在做项目的时候,希望路径是以服务器的根路径为基准,所以就用到了 request.getContextPath()。

在代码中是可以按”command“键+鼠标点击进入资源的,说明路径是没有问题的。但是加载页面的时候 css 文件 和 js 文件都没有起作用。

<%--  Created by IntelliJ IDEA.  User: hedon-  Date: 2020-05-26  Time: 11:23  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>    
珞珈图书馆 <% pageContext.setAttribute("APP_PATH",request.getContextPath()); //以 "/"开始,不以 "/" 结束 %>

image-20200526182252202

[2] 错误分析

我在网上找了很多的资料,但是都没有解决问题,于是还是决定自己瞎搞搞。

首先在打开的网页上查看源代码:

在这里插入图片描述
发现这里 {APP_PATH} 并没有得到解析。所以问题肯定就出在这里了。

这时候我突然想到 EL 表达式默认是会被忽略的,所以我就想会不会就是这个原因,所以才没有读到资源。

终于,问题确实是出现在这里。

[3] 解决方案

关闭对 EL 表达式的忽略,执行解析 EL 表达式。

重点是在 jsp 文件的前面加上:

<%@page isELIgnored="false" %>

如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@page isELIgnored="false" %>    
珞珈图书馆 <% pageContext.setAttribute("APP_PATH",request.getContextPath()); //以 "/"开始,不以 "/" 结束 %>

这样问题就解决了!

[4] 效果演示

image-20200526182755178

我们在来看看源码:

image-20200526182817029

可以发现这里 {APP_PATH} 被成功解析了。

Over~ 希望我的方法能帮助到你~

转载地址:http://omded.baihongyu.com/

你可能感兴趣的文章
vue入门——通过webpack构建vue项目
查看>>
windows下查看8080端口被占用以及杀死进程的方法
查看>>
异常 Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
查看>>
浅谈vue中index.html、main.js、App.vue、index.js之前的关系以及加载过程
查看>>
vue简单语法规则总结
查看>>
使用pip离线安装ansible
查看>>
linux中redis安装部署及测试(单机版)
查看>>
关于google深度学习框架中PTB数据的batch方法中参数的理解
查看>>
spring mvc中集成redis(集群含密码、moven项目)
查看>>
ElasticSearch7 修改数据
查看>>
Elasticsearch7 检索API
查看>>
Elasticsearch7中的mapping设置以及变化
查看>>
Pycharm安装配置Anaconda和Pip遇到的问题和解决办法
查看>>
Lua Base64自定义编解码
查看>>
Xlua开发笔记:计时器
查看>>
Xlua开发笔记:网络图片加载
查看>>
C++初学者该如何写程序?
查看>>
C++桌面显示恶搞
查看>>
C++宏的黑科技用法《结构体字节序自动转换》
查看>>
C++与Lua闭包
查看>>