Javaweb开发中URL路径的使用
看到博客园孤傲苍狼的web系列文章中有关于URL路径的使用文章后,感觉自己对URL的使用清楚了很多,自己再对着动手写一遍以加深记忆。
JavaWeb开发中常看到URL以“/”开头,但对于服务器端和浏览器端分别指不同的起点路径。
如果“/”是给服务器用,则代表当前的web工程,自己理解就是指web目录,如果“/”是给浏览器用,则代表webapps目录。
一,“/”代表当前web工程的常见应用场景
1.ServletContext.getRealPath(String path)获取资源的绝对路径
如:this.getServletContext().getRealPath("/img/1.JPG)获取1.JPG的绝对路径中,img前面的“/”就是web工程。
2.在服务前端的forward转发中
如:this.getServletContext().getRequestDispatcher("/index.jsp").forward(request,response);
客户端请求某个web资源,服务器跳转到另外一个web资源,这个forward也是给服务器用的,此时"/index.jsp"前面的“/”就是web工程,即web目录。
3.使用include指令或者<jsp:include>标签引入页面
如<jsp:include page="/jsp/demo.jsp"/>
二.“/”代表webapps目录的常见应用场景
1.使用sendRedirect实现请求重定向
如response.sendRedirect("/JavaWeb_Learning_Project/index.jsp");
服务器发送一个URL地址给浏览器,浏览器拿到URL地址后再次请求服务器,所以“/”是给浏览器使用,此时URL等价于“webapps\JavaWeb_Learning_Project\index.jsp”.
此外项目中通常用另一种更灵活的写法代替上面的写法,这样在项目名称改变时依然有效:
response.sendRedirect(request.getContextPath()+"/index.jsp");
此时request.getContextPath()获取到的内容就是"/JavaWeb_Learning_Project”;
2.使用超链接跳转,提交表单或html部分标签中的src属性
如:<a href="/JavaWeb_Learning_Project/index.jsp>首页</a>,
<form action="${pageContext.request.contextPath}/demo5></form>,
<img alt="验证码看不清,换一张" src="${pageContext.request.contextPath}/demo4" id="validateCodeImg" onclick="changeImg()" >
访问web资源时,绝对路径的写法推荐使用img标签中src属性的写法改进,即:
<a href="${pageContext.request.contextPath}/index.jsp>首页</a>
3.js脚本和css样式文件的引用
Javaweb开发中URL路径的使用的更多相关文章
- web开发中目录路径问题的解决
web开发当中,目录路径的书写是再常用不过了,一般情况下不会出什么问题,但是有些时候出现了问题却一直感到奇怪,所以这里记录一下,彻底解决web开发中路径的问题,开发分为前端和服务端,那么就从这两个方面 ...
- JAVA开发中相对路径,绝对路径全面总结
JAVA开发中相对路径,绝对路径全面总结 博客分类: Java综合 JavaJSP应用服务器Servlet网络应用 1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径, ...
- Javaweb开发中关于不同地方出现的绝对路径和相对路径
1.转发和包含路径 a)以“/”开头:相对当前项目路径,即默认为http://localhost:8080/项目名/ b)不以“/”开头:相对当前Servlet路径. eg:在Aservlet中写“B ...
- 【详细】总结JavaWeb开发中SSH框架开发问题(用心总结,不容错过)
在做JavaWeb的SSH框架开发的时候,遇到过很多的细节问题,这里大概记录下 我使用的IDE是Eclipse(老版本)三大框架:Spring4.Struts2.Hibernate5 1.web.xm ...
- 理解JavaWeb项目中的路径问题——相对路径与绝对路径
背景: 在刚开始学习javaweb,使用servlet和jsp开发web项目的过程中,一直有一个问题困扰着我:servlet 和 jsp 之间相互跳转,跳转的路径应该如何书写,才能正确的访问到相应的s ...
- javaWeb开发中的中文编码问题
常规解决乱码问题的方法是: a.把所有的jsp页面的charset设置为UTF-8. b.添加过滤器,在filter内调用request.setCharacterEncoding("ut ...
- Web开发中的路径问题总结
原文地址:http://zzqrj.iteye.com/blog/806909 路径问题在Web开发中算是令人比较蛋疼的问题,尤其是用相对地址时,同样的代码,在不同的目录结构中竟然会出现有对有错的结果 ...
- JavaWeb工程中url地址的写法
两种url地址: 1. "/"给服务器使用, 代表web工程根路径(webroot)2. "/"给浏览器使用, 代表tomcat 目录下的webapps文件夹 ...
- javaweb开发中的常见错误
Javaweb中的最常见错误及其解决方法 1.200:表示成功处理业务. 2.400 请求出错: 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就 无法重复此请求. 解决办法:,遇到400 ...
随机推荐
- LigerUI一个前台框架增、删、改asp.net代码
LigerUI一个前台框架增.删.改asp.net代码的实现 先上代码:前台代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...
- EF 关系描述
网络上常常看到有ef 1对1 1对多等关系的描述,按照我的理解,其根本就是为了呈现出一个视图,我最近设计了一个ef关系,请大家看一看. 需求描述 在gps车辆信息管理中,有个开户需求,其根本就是三种关 ...
- 基于ffmpeg的C++播放器1
基于ffmpeg的C++播放器 (1) 2011年12月份的时候发了这篇博客 http://blog.csdn.net/qq316293804/article/details/7107049 ,博文最 ...
- C#做的颜色工具
常常会用到绘制以及配色,每次看到 framework 里边的 KnowColor.xxx 我就一阵......到底啥颜色啊,干脆做一个一劳永逸的工具吧.功能包含: 可以实现枚举所有系统颜色 圆形.矩形 ...
- IOS学习之路七(通过xib自定义UITableViewCell)
一.新建iOS Application工程,选择Single View Application,不要选中Use Storyboard.假设指定的是product name是:UITableViewCe ...
- 对象池化技术 org.apache.commons.pool
恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率.Jakarta Commons Pool组件提供了一整套用于实现对象池化的框架,以及若干种各具特色的对象池实现,可以 ...
- Easyui + asp.net MVC 系列教程 完成登录
Easyui + asp.net MVC 系列教程 第09-17 节 完成登录 高清录制 前面八节 在这里 Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门 在接下 ...
- 三角形(Triangle)
三角形(Triangle) 问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8 ...
- 适配器模式及C++实现
适配器模式及C++实现 适配器模式 适配器模式是很好理解的模式了,生活中也非常常见,什么插头2口转3口,什么USB转PS2,这都算是适配器模式.说白了,就是如果有一些东西提供的接口你很像用,但是你手头 ...
- 【详细贴】Ubuntu Linode搭建海外策略路由VPN IPSec+L2TP(一)
对于码农来说,Google上搜索,stackoverflow上提问,twitter上交流,这样的国际化开放平台才是码农成长的空间.但是,目前遇到的一些现实的困难,无可避免的带来一些麻烦,不过这难不倒我 ...