java动态拼接请求_在JavaWeb项目中处理静态文件或动态链接拼接网站地址的最优处理方案...
在开发网站时候我们会遇到下面问题?
- 在引用网页中引用js和css或者动态的Servlet的时候我们是写绝对路径还是相对路径?
- 如果写相对路径吧,上线偶尔会报404,还要手动去拼接绝对路径
- 如果写绝对路径吧,你在本地写的时候肯定的是localhost:8080/xxx/xxx,项目上线的时候你又要把网页中的这个替换为你的上线域名,体验很糟糕
我们怎么解决这样的问题呢?
我们可以在网页中使用Request对象来获取网页中的各种地址信息。
-request.getServletPath(); 获取当前网页的地址-request.getScheme(); 获取协议-request.getServerName(); 获取域名-request.getServerPort(); 获取端口号- request.getContextPath(); 获取项目名称
下面我们来拼接成一个通用的获取项目地址的变量,让在jsp网页中随处都可以使用它啦
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
获取到的就是下面这样的地址
basePath:http://localhost:8080/WebDemo/
我们可以在jsp页面写入下面代码
在引用Js和css或者需要拼接路径的时候我们可以直接使用basePath这个变量,例如
当然我们每一次都需要在jsp文件编写下面的代码吗?那可真的是太复杂了,我们可以直接在web.xml中稍微配置一下,就可以啦,下面看看怎么来操作。
创建一个commons.jsp文件,文件写入下面代码
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %>
在web.xml进行配置,使所有的jsp网页都能自动的引用commons.jsp这个网页(ps:引入这个网页当然就能使用basePath这个变量喽~~直接就能使用啦)
*.jsp
/commons.jsp
注意:/commons.jsp标签中的jsp文件改成你的commons.jsp文件的存放地址
不适用这种方案的情况
-前后端分离的项目-Html网页中- 。。。
java动态拼接请求_在JavaWeb项目中处理静态文件或动态链接拼接网站地址的最优处理方案...相关推荐
- java项目配置过滤器_在JavaWeb项目中如何正确的使用Filter过滤器
在JavaWeb项目中如何正确的使用Filter过滤器 发布时间:2020-11-11 17:12:00 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关在JavaWeb项 ...
- mybatis手动切换数据库_在Spring项目中使用 Mybatis 如何实现动态切换数据源
在Spring项目中使用 Mybatis 如何实现动态切换数据源 发布时间:2020-11-17 16:20:11 来源:亿速云 阅读:108 作者:Leah 这篇文章将为大家详细讲解有关在Sprin ...
- java web项目 相对路径怎么写_理解JavaWeb项目中的路径问题——相对路径与绝对路径...
背景:html 在刚开始学习javaweb,使用servlet和jsp开发web项目的过程当中,一直有一个问题困扰着我:servlet 和 jsp 之间相互跳转,跳转的路径应该如何书写,才能正确的访问 ...
- canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传
使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...
- java手机验证码登陆_在Web项目中手机短信验证码实现的全过程记录
这篇文章主要给大家介绍了关于在Web项目中实现短信验证码的全过程记录,文中通过示例代码介绍的非常详细,在文末跟大家提供了源码下载,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧. 前言 最近在做 ...
- java 强类型 弱类型_强类型,弱类型,静态类型,动态类型的区别
强.弱类型 强类型strongly typed: 如果一种语言的所有程序都是well behaved--即不可能出现forbidden behaviors,则该语言为strongly typed. 弱 ...
- java web图片旋转_修正web项目中图片旋转方向
# 使用 imagemagick 旋转 查看照片 EXIF 信息,Exif 中的图片旋转信息储存在``Orientation``中. ``` identify -verbose xxx.jpg ``` ...
- java 读取mysql日志_如何在MySQL中查看日志文件?
我已经读过Mysql服务器创建了一个日志文件,它记录了所有活动 - 比如何时执行查询和执行什么查询 . 谁能告诉我我的系统中存在哪些内容?我怎么读呢? 基本上,我需要使用不同的输入备份数据库[两个日期 ...
- maven没有resource文件夹_maven项目中没有resource文件夹的问题
之前使用eclipse创建maven项目,文件夹都是建好的,这几次创建,都没有resource文件夹,需要手动创建resource. 现象描述 在eclipse中,创建maven项目有两种方式: 一种 ...
最新文章
- 解决 Maven 依赖冲突的好帮手,必须了解一下!
- docker desktop一直starting不变化
- 【Linux】工作管理
- python-22 eval json pickle shelve 之间差别
- json tostringfiy_JS学习笔记 : 类型转换之「抽象值操作」
- python基础:抓取博客网页上的图片并且保存的例子
- 服务器 设置 将 Tomcat 注册 到系统服务 及使用方法
- 视频教程-思科入门CCNA初级网络工程师视频课程-网络技术
- Anthony Zee《Quantum Field Theory in a Nutshell (2nd)》(徐一鸿《简明量子场论(第二版)》)中文目录
- 升级到Tomcat9之后js中文乱码解决办法
- 广告投放策略及数据分析
- 永不服输的Java之路---重学Java (第一章)
- conda查看版本包命令
- iframe是什么?html中iframe标签的用法详解
- 解决K8S集群kubelet故障:Failed to update stats for container nable to determine device info for dir
- 我用Python抓取了自如上所有的租房信息,随心所欲的选房
- linux搭建云存储,搭建nextcloud私有云存储网盘
- 基因表达半衰期 | mRNA Half-Life
- 以阿里为例,详解SRE的团队建设与职能分工
- 计算机屋内设计主要是学什么的,2021建筑室内设计主要学什么 主要课程有哪些...
热门文章
- Visual Stutio中win32控制台应用程序、win32项目、MFC项目的区别:
- 计算机专业必须读的经典书籍
- 计算机网络ipv4到ipv6怎么实现,论计算机网络协议IPV4到IPV6的过渡策略|房屋搬迁过渡协议...
- Java基础笔记 – 枚举类型的使用介绍和静态导入
- AUTOSAR从入门到精通100讲(二十)-AUTOSAR通信篇—CanIf模块
- 干货:B端产品经理,快速成长的密码
- kafka 不同分区文件存储_大白话 + 13 张图解 Kafka
- BurpSuite插件 -- Struts2-RCE
- c语言 linker error,[Linker error] undefined reference to `prinf'的问题!
- linux中vi过滤,vim高级编辑(一)