Servlet -- 跳转到页面后的绝对路径与相对路径的问题
我们在使用servlet或其它框架,从后台跳转到视图层的时候。常会遇到这种情况,CSS和JS文件失效了,可是假设通过网址直接訪问JSP是没问题的。
这就是由于绝对路径和相对路径导致的。
绝对路径。就是我们通过一个完整的地址去訪问,比方http:localhost:8080/program……
相对路径,比方/program/jsp/a.jsp,这就是想相对路径。
这里我们来看servlet的两种跳转forward和redirect机制,http://blog.csdn.net/gaopeng0071/article/details/9838041
以下引用:http://blog.csdn.net/wym19830218/article/details/5503533/
JSP中用相对路径引用JS,CSS文件的三种情况
第一种情况 最常见的情况
一个tomcat上都跑多个project, 用project名来区分
由于我的的URL是 :http://localhost/project名 /home/index.jsp
多了一个project名,所以要加 <%=request.getContextPath() %>
如:
写<%=request.getContextPath() %>太麻烦。能够在每个jsp文件顶部增加以下内容后,
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://" +request.getServerName()+":" +request.getServerPort()+path+"/" ;
%>
<base href="<%=basePath%>" >
第二, 直接訪问jsp文件
真实项目中, 一个tomcat上要是也跑了多个project, 并用IP来区分
url 是这种: http://localhost/home/index.jsp 注意这里,是直接訪问JSP文件(jsp文件不在web-inf下。能够直接訪问),不是servlet也不是struts 。
test2.js 与index.jsp 放在同一目录下。以下用相对路径来引入JS文件 是OK 的:
index.jsp能够找到test2.js文件
第三种情况: servlet转发到jsp(jsp在web-inf下。必须用servlet或action訪问)
在第二情况的基础上,一个tomcat上要是也跑了多个project, 并用IP来区分。
我们訪问的是servlet 或是struts的action , 再转发到 index.jsp
url 是: http://localhost/*.do
url 是: http://localhost/index.action
这里不是訪问JSP文件了
以下是OK 的.
Servlet -- 跳转到页面后的绝对路径与相对路径的问题的更多相关文章
- selenium中webdriver跳转新页面后定位置新页面的两种方式
刚刚在写Python爬虫的时候用到了selenium , 在跳转新页面时发现无法定位新页面 , 查找不到新页面的元素 一番查询后得到了解决方法 , 便记录下来备忘 , 也与大家分享 # 页面跳转代码. ...
- vue跳转新页面后回到顶部
全部页面的话就在mian.js中设置或者 单独的某个页面就在页面加载之前设置 单独设置需变为this.$router router.afterEach((to,from,next)=>{ win ...
- Servlet跳转到JSP页面后的路径问题相关解释
一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同 ...
- servlet跳转页面后图片不显示
我是用图片的相对路径,原先直接打开jsp的话图片是可以正常显示的,通过servlet跳转之后图片就显示不出来了 后来发现是图片路径的问题, 我是将图片放在WebRoot里面自己创建的img中,原先图片 ...
- J2EE项目中,servlet跳转到相应的JSP页面后,JSP页面丢失了样式效果
原因: js和css的引用路径是相对路径.跳转后路径改变. 解决方法: 先在head标签中加入一下代码 <% String path = request.getContextPath(); St ...
- Servlet、JSP中页面跳转的方式
一.Servlet:当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面.1) redirect 方式response.sendRedirect("success ...
- JSP、Servlet中的相对路径和绝对路径 页面跳转问题
转自:http://blog.csdn.net/wym19830218/article/details/5503533/ 1.JSP.Servlet中的相对路径和绝对路径 前提:假设你的Http地址为 ...
- 怎么给当前点击的a标签添加一个样式(跳转页面后)
怎么给当前点击的a标签添加一个样式(跳转页面后): 方法1. 用cookie记录这个打开的序列号,然后页面在跳转的时候在读出来.方法2. 循环a的链接,然后与location.href去比对,如果相同 ...
- 类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
要实现的效果:进入页面后默认焦点在第一个输入框,输入内容.回车.right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个. PS:自己模拟的 ...
随机推荐
- 在centos7下安装mysql5.7
wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpmyum localinstall -y mysql57- ...
- 百度云是用SOUI开发的产品
http://www.cnblogs.com/setoutsoft/p/4155997.html
- silverlight datagrid绑定匿名类
原文 http://www.cnblogs.com/luweis/archive/2011/10/21/2220587.html 刚开始遇到的一个问题是这样的,我有一个datagrid,根据不同的条件 ...
- tomcat path配置
<pre name="code" class="html">demo:/root# curl http://192.168.32.42:8082/a ...
- docker 容器开启ssh服务
ssh服务安装 安装ssh服务 #yum install openssh-server -y 安装passwd(修改密码需要) #yum install passwd -y 修改sshd_config ...
- 排序-java
今天座右铭----每天的学习会让我们不断地进步! 往往面试中都会让我们用一种排序方法做一道排序题,下面我就罗列出快速排序.冒泡排序.插入排序.选择排序的java代码! 1.快速排序 public cl ...
- 清风注解-Swift程序设计语言:Point1~5
目录索引 清风注解-Swift程序设计语言 Point 1. Swift 风格的"Hello, world" 代码事例: println("Hello, world&qu ...
- JavaMail学习笔记
适逢计算机网络课程设计,本着挑战自己的态度,选择了一个从未接触的东西:邮箱客户端代理软件的设计.由于对相关协议非常陌生,只能依靠查找资料完成,在学习过程中碰到了一个非常好的博客,故向大家推荐一下. 一 ...
- Brew install for mac
安装命令例如以下: curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --st ...
- Mongodb数据库命令端经常使用操作
数据库基本命令操作 数据库经常使用命令 1.Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.he ...