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 ...
随机推荐
- 3DMax的OFusion插件的使用问题
使用OFusion将3D max导出到现场Ogre的Mesh该方法是经常使用的非.的一些问题,在这里为方便摘要. 1.OFusion得到: http://download.csdn.net/detai ...
- XLSTransformer生成excel一个简单的演示示例文件
项目结构图: 在这些项目中使用jar.可以http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...
- JavaScript中的execCommand()命令详解及实例展示
execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令.处理Html数据时常用如下格式:document.execCommand(sCommand[,交互方式, 动态参数]) ,其 ...
- BitMap画图
package com.example.examples_05_07; import android.content.Context; import android.graphics.Bitmap; ...
- SpringMVC源码
SpringMVC源码分析系列 说到java的mvc框架,struts2和springmvc想必大家都知道,struts2的设计基本上完全脱离了Servlet容器,而springmvc是依托着Serv ...
- iOS基础 - 数据库-SQLite
一.iOS应用数据存取的常用方式 XML属性列表 —— PList NSKeyedArchiver 归档 Preference(偏好设置) SQLite3 Core Data(以面向对象的方式操作数据 ...
- Hive中Bucket的应用
网友南京-李先森给了他收集的一些资料,如下: Buckets 对指定列计算 hash,根据 hash 值切分数据,目的是为了并行,每一个 Bucket 对应一个文件.如将 user 列分散至 32 个 ...
- Code First 启用迁移时出错 "No context type was found in the assembly"
问题:Code First 启用迁移时找不到上下文DbContext所在的项目. PM> Enable-Migrations No context type was found in the a ...
- Linux 环境进程间通信(六):
linux下进程间通信的几种主要手段: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允 ...
- 【转载】Stack Overflow: The Architecture - 2016 Edition
转载:http://www.infoq.com/cn/news/2016/03/Stack-Overflow-architecture-insi?utm_source=tuicool&utm_ ...