Web 项目中 JSP 和 HTML 的取舍和资源引用时 "\" 根目录的寻找
2017-08-06 21:05
337 查看
问题来源
取舍 JSP
JSP 变为 HTML 的问题
根目录快速识别
结束语
好,进入正题。
因为 Web 项目,在客户端和服务端运行,前端运行在客户端,后台运行在服务端,其中 “\” 根目录的意义就有所不同了,我之前也比较迷糊,不知那个时候用相对地址还是绝对地址。
假期找了实习,做的是 Java Web 后台开发,前端是写好的,我按照以前的经验,把所有的 HTML 改为 JSP, 把 HTML 中所有的资源引用,全是换为绝对地址,就像下面一样:
这种确实方便,什么都不用管,都是用的绝对地址。但最近我觉得 JSP 这种模式很不好,前台写完以后,我要把所有的 HTML 改为 JSP,虽然说 JSP 是动态网页,这只是相对于前台和后台的说法,在后台中确实是动态的,但是前台都是静态页面,当有什么更新的值,那么就只有全局刷新。而且 JSP 不是客户端直接访问的,JSP 要变为 Servlet,然后 Tomcat 再进行分发。
解释一下,
前端用: HTML + CSS + JS 进行开发。
后端用: 后端语言开发,比如Java,Python,Golang 等等都可以。
前端用 AJAX 进行表单的提交数据和进行页面的局部更新。
前端与后端数据的交换用 JSON。
不过在前端的资源引用就不能用 JSP 的特性来获得绝对路径了,要改为相对路径了,就会涉及到 “\” 根目录的问题。例如以下的路径
解释下,谁解析 “\” 就代表不同的意思。
比如:
取舍 JSP
JSP 变为 HTML 的问题
根目录快速识别
结束语
问题来源
我从 Android 转到了 Java Web 后台开发,也没有写博客了,我一般是记录在本子上,因为我觉得方便,想怎么记就怎么记,不过现在慢慢的转变了,我想每个人在学习的过程中都会有问题,我以后就把我的笔记记录在博客上,原因有:1. 是方便查找。 2. 后面的人遇到相同的问题时,可以参考下。
好,进入正题。
因为 Web 项目,在客户端和服务端运行,前端运行在客户端,后台运行在服务端,其中 “\” 根目录的意义就有所不同了,我之前也比较迷糊,不知那个时候用相对地址还是绝对地址。
假期找了实习,做的是 Java Web 后台开发,前端是写好的,我按照以前的经验,把所有的 HTML 改为 JSP, 把 HTML 中所有的资源引用,全是换为绝对地址,就像下面一样:
String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
这种确实方便,什么都不用管,都是用的绝对地址。但最近我觉得 JSP 这种模式很不好,前台写完以后,我要把所有的 HTML 改为 JSP,虽然说 JSP 是动态网页,这只是相对于前台和后台的说法,在后台中确实是动态的,但是前台都是静态页面,当有什么更新的值,那么就只有全局刷新。而且 JSP 不是客户端直接访问的,JSP 要变为 Servlet,然后 Tomcat 再进行分发。
取舍 JSP
在公司接触了 AJAX,然后我感觉整个前台和后端的交互逻辑可以变成一种清晰的架构,请看下图:解释一下,
前端用: HTML + CSS + JS 进行开发。
后端用: 后端语言开发,比如Java,Python,Golang 等等都可以。
前端用 AJAX 进行表单的提交数据和进行页面的局部更新。
前端与后端数据的交换用 JSON。
JSP 变为 HTML 的问题
由上面可以看到,整个 Web 架构就清晰多了,前端写前端的,后端写后端的。不过在前端的资源引用就不能用 JSP 的特性来获得绝对路径了,要改为相对路径了,就会涉及到 “\” 根目录的问题。例如以下的路径
./ . 代表当前路径 ../ .. 代表上一级路径 / 根目录这个就不好说了。
“\” 根目录快速识别
接下来我就用最简介的语言说清楚,根目录的识别。客户端解析 "\" Web 容器根目录 服务端解析 "\" 当前 Web 引用的根目录
解释下,谁解析 “\” 就代表不同的意思。
比如:
客户端在访问时,访问的是 Web 容器,所以在客户端是 "\" 代表的是 Web 容器的根目录 服务端在被访问时, Web 容器中,各个项目是独立存在的,所以单个项目中 "\" 为当前的 Web 项目的根目录
结束语
小弟不才,如果有问题,谢谢大家提出,最后谢谢大家观看!相关文章推荐
- iOS WebView加载目录文件夹html 不改动html里面的资源引用路径
- 引用外部.css或.js文件的路径问题--jsp或html页面或是在web项目中的引用
- 【Android小项目】找不同,改编自"寻找房祖名"的一款开源小应用。
- IDEA启用web项目不能即时刷新HTML或JSP页面问题
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 您试图打开的项目是WEB项目,需要通过指定其"Url"路径来打开它
- Silverlight编译错误,提示某文件不是项目的一部分或"生成操作"没有设置为"资源"
- Eclipse的WEB项目>HTML/JSP中嵌入CSS样式表(相对路径)
- 关于WEB-INF目录不提供外部访问及JSP引用 js,css 文件路径问题
- java web开中WebRoot下的jsp和WebRoot文件夹下的jsp(html)引用css样式
- 编写 "纯HTML" jsp应用--学会使用 JSTL
- JavaEE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文
- jsp、资源、web应用的目录结构、Http协议
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- "/"在web项目中所代表的意义
- Android读取assets目录下的资源 (webview加载assets下的html)
- vue项目根目录下index.html中的id="app",与src目录下的App.vue中的id="app"为什么不会冲突
- 基于html、jsp、css制作的"慕课网"首页界面设计练习
- 解决IDEA打开web项目时不能随时刷新HTML或者JSP页面问题
- Maven之新建web项目后目录不全与jsp报错-yellowcong