-
2019-08-01 16:47:01
参考连接:https://blog.csdn.net/RikkaTakanashi/article/details/88178378
初次尝试html编写,在插入图片时遇到了问题,百度了一下,大家都说时路径不正确,但经过检查,我觉得我的路径
<div>
<!--相对路径-->
<img src="image/background.jpg" />
<!--绝对路径-->
<img src="E:\webstorm\workspace\test\image\background.jpg" />
</div>
是正确的,并且不论是绝对路径还是相对路径我都试过,无法显示图片。最后终于在stackoverflow一位回答下找到了解决方案,将相对路径改为
<!--相对路径-->
<img src="../image/background.jpg" />
图片就可以显示了。问题在于我没有理解路径,我的文件结构如下,../ 是回到父级 test文件夹,接下来的../image才可以找到image文件夹
这里特意记录一下html相对路径的写法
./ :代表文件所在的目录(可以省略不写)如果写成image/background 就相当于是在html文件下找image文件夹,当然是找不到的
../ :代表文件所在的父级目录
../../ :代表文件所在的父级目录的父级目录
/ :代表文件所在的根目录
更多相关内容 -
JSON是什么?如何正确理解?
2018-08-04 20:47:26和分析能力,例如:数据索引、排序、查找、相关一致性等,XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细...1.背景介绍
什么是JSON
JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。——百度百科
数据传输是我们在敲代码时,经常遇到的一个场景,前后端交互。给数据一个统一的格式有利于我们编写和解析数据。
json,是一种数据格式,在与后端的数据交互中有较为广泛的应用。
JSON的诞生
JSON是 (JavaScript Object Notation, JS 对象标记),它是一种数据交换格式。在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身不算复杂,但是,加上DTD、XSD、XPath、XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范。
终于,在2002年的一天,道格拉斯·克罗克福特(DouglasCrockford)同学为了拯救深陷水深火热同时又被某几个巨型软件企业长期愚弄的软件工程师,发明了JSON这种超轻量级的数据交换格式。
由于JSON非常简单,很快就风靡Web世界,并且成为ECMA标准。几乎所有编程语言都有解析JSON的库,而在JavaScript中,我们可以直接使用JSON,因为JavaScript内置了JSON的解析。把任何JavaScript对象变成JSON,就是把这个对象序列化成一个JSON格式的字符串,这样才能够通过网络传递给其他计算机。如果我们收到一个JSON格式的字符串,只需要把它反序列化成一个JavaScript对象,就可以在JavaScript中直接使用这个对象了。
转义
我们在调用 jsonp 接口或者调用js文件的时候,由于文件编码不同会导致出现乱码的问题。 如果你的文件出现了非英文字符,如果调用时文件编码不一致,同样会出现乱码情况。
这也就是为什么要数据统一格式的原因。
JSON 是适用于 Ajax 应用程序的一种有效格式,原因是它使 JavaScript 对象和字符串值之间得以快速转换 JSON是一种传递对象的语法
JSON是一个提供了stringify和parse方法的内置对象
stringify将js对象转化为符合json标准的字符串
parse将符合json标准的字符串转化为js对象
2.知识剖析
JSON对值的类型和格式有严格的规定
复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。
字符串必须使用双引号表示,不能使用单引号。
对象的键名必须放在双引号里面。
数组或对象最后一个成员的后面,不能加逗号。
PS: 需要注意的是,空数组和空对象都是合格的JSON值,null本身也是一个合格的JSON值。JSON 的语法规则
JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:
数组(Array)用方括号(“[]”)表示。
对象(Object)用大括号(”{}”)表示。
名称/值对(name/value)组合成数组和对象。
名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
并列的数据之间用逗号(“,”)分隔实例
JSON 数据的书写格式是:名称/值对。
名称/值对组合中的名称写在前面(在双引号中),值对写在后面,中间用冒号隔开,
其中 值 可以是:数字(整数或浮点数)、字符串(在双引号中)、布尔值(true或false)、数组(在方括号中)、对象(在花括号中)、null
varjson= {"password":123456,"name":"myname","Booleans":true,"Array":[x,y,z],"object":{}}
或者是嵌套使用
转义概述
为什么需要转义?在js中我们使用的js对象进行处理,但是在与后端数据交换的时候,我们发送规定的json格式的字符串,所以在给后端发送或接受数据的时候,需要转义
{name:"myname",password:123456}
"{"name":"myname","password":123456}"
其中json字符串转js对象,调用parse方法:
js对象 = JSON.parse(json字符串);
js对象转json字符串,调用stringify方法:
json字符串 = JSON.stringify(js对象);
3.常见问题
在json字符串转换成对象,还有eval_r('('+json字符串+')')这个方法,但是在对目标数据进行读取时,可能会出现一些意外的错误:
4.解决方案
原因:eval_r获取的json对象的值中,如果有执行代码,也将照样执行!所以若不能保证数据的安全性,不要使用eval_r方法进行转义。
5.编码实战
下面是一个简单的json数据发送应用,有兴趣可以阅读一下:
6.扩展思考
我们常看到
{name:"myname",password:123456}
和
{"name":"myname","password":123456}
这样两种格式,即js对象和json,然而js对象和json有什么不一样的地方?
很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
如
var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串
7.参考文献
参考一:JSON官方文网
参考三:json属性名必须加引号的讨论
参考四:json怎么理解
8.更多讨论
1、XML是什么?
XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
2、向后台传输数据要用什么格式?
json字符串格式,如果是一个对象要先用JSON.stringify()转义,转义成为字符串才能将数据传给后端。
3、后端传过来的字符串数据要怎样才能转义成为一个对象?
用JSON.parse()方法转义。
-
HTML5语义化的理解
2019-05-27 09:45:49语义化意味着顾名思义,HTML5的语义化指的是合理正确的使用语义化的标签来创建页面结构,如 header,footer,nav,从标签上即可以直观的知道这个标签的作用,而不是滥用div。 ...语义化意味着顾名思义,HTML5的语义化指的是合理正确的使用语义化的标签来创建页面结构,如 header,footer,nav,从标签上即可以直观的知道这个标签的作用,而不是滥用div。
-
说说你对servlet 的理解或者 servlet 是什么?
2017-08-06 21:57:55说说你对servlet的理解或者 servlet 是什么? Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序。而这些Servlet都要实现Servlet这个接口。其主要功能在于交互式的浏览和修改数据,生成...说说你对servlet的理解或者 servlet 是什么?
Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序。而这些Servlet都要实现Servlet这个接口。其主要功能在于交互式的浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。
HttpServlet 重写doGet 和 doPost 方法或者你也可以重写service方法完成对get和post请求响应。
Servlet的通俗理解?
Servlet是一个运行了面向请求/ 响应服务器中的网络模块。
请求是客户的一个调用,可能是远程的。
请求包含了客户要发送给服务器的数据。
响应是服务器返回给客户的回答该请求的数据。Servlet是一个JAVA对象,他以请求为输入,分析其数据,执行一些逻辑运算,并给客户发回一个响应。
另一方面,Servlet作为驻留在服务器端HTTP明白的中间层,它们知道怎样在HTTP中通过RMI或IIOP在EJB和客户之间进行通信。RMI了解地址:http://haolloyin.blog.51cto.com/1177454/332426/
IIOP了解地址:https://baike.baidu.com/item/IIOP/8866752?fr=aladdin
RMI-IIOP:RMI以Java为核心,可与采用本机方法与现有系统相连接。IIOP,Internet Inter-ORB Protocol(互联网内部对象请求代理协议),它是一个用于CORBA 2.0及兼容平台上的协议。
Servlet 入门理解?
当学到Servlet这个新技术的时候,不是着急去学Servlet这个Java类有什么属性、方法,而是先去了解这个东西什么时候会用到,既然都是BS的,那ASP.NET中有没有类似的?然后就有了人写了这篇博客。
1.Servlet产生背景和主要作用
我们都知道网页有静态和动态之分。静态的只能看看,而动态可以实现客户端和服务器的交互,比如登录的功能,我们输入用户名和密码后提交到服务器,服务器会处理这些信息,如果正确的话则进入主页。若不正确,则给出提示信息。这是我们很常实现的例子,可是我们有没有想过:客户端到服务器之间这个交互的过程是怎么实现的?之前我没有想过。直到遇到了Servlet.Servlet是Java中用来处理BS架构下,客户端请求的响应处理。
2.java中Servlet和ASP.net中的HttpHandler的对比
ASP.Net:
当一个HTTP请求经同HttpModule容器传递到HttpHandler容器中时,ASP.NET Framework会调用HttpHandler的ProcessRequest成员方法来对这个HTTP请求进行真正的处理。以一个ASPX页面为例,正是在这里一个ASPX页面才被系统处理解析,并将处理完成的结果继续经由HttpModule传递下去,直至到达客户端。我们看一张图帮助理解:
Java:
在这个过程中,HttpServletRequest和HttpServletReponse相当于上面的HttpModule起到传过去,传回来的作用。Servlet(HttpServlet)相当于HttpHandler处理客户端请求。
3.Servlet是什么
现在我们说说Servlet是什么。Servlet就是一个Java类。类就会有一系列的属性和方法。了解这些可以看详细的API文档。这里不再赘述。
Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类。
4.Demo(Tomcat)
login.html
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="exam/login">
用户名:<input type="text" name="username"> <br>
密 码:<input type="password" name="password"> <br>
<input type="submit" value="登录">
</form>
</body>
</html>
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>loginservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet>
</web-app>
loginServlet.java
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class loginservlet extends HttpServlet{
public void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException,
IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println("username = " + username );
System.out.println("password = " + password );
resp.setContentType("text/html");
resp.getWriter().println("Login Success!");
}
}
对应时序图:
总结:
以前没有想过客户端和服务器如何实现交互。Servlet开始让我思考。学习不能总是看以前学得不扎实。学得时候做好总结,往前看。但学新的东西要联系旧的东西,这样既能巩固旧知识,也能使学习变得轻松。这也是为什么我们学了后面的,再看前面学得容易了的原因。
注明Servlet入门理解摘自博客地址:http://blog.csdn.net/wangyajin333/article/details/39937163
-
h标签是什么,如何正确使用?
2021-06-12 18:15:23每一个网站都是由多个超文本标签组成的,在我们对网站进行seo优化的时候,不仅仅只是做一些基础的站内优化,同样我们也不能忽略网站的标签优化,h标签对于网站seo来说是一个非常重要的标签,但是大表哥发现很多朋友... -
谈谈你对this对象的理解
2019-09-23 14:50:48理解: 1.this是js 的一个关键字,随着函数的使用场合的不同,this 的值会发生变化。 2.一个总原则:即this指的是调用函数的那个对象。 3.一般情况下,this 是全局对象,可以作为方法调用。 转载于:... -
httpSession的正确理解
2018-09-06 09:47:51下面说说我的理解吧: 一个session就是一系列某用户和服务器间的通讯。服务器有能力分辨出不同的用户。一个session的建立是从一个用户向服务器发第一个请求开始,而以用户显式结束或session超时为结束。 其工作原理... -
对springMVC的理解
2018-09-04 11:00:22注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。 ... -
HTML中对VALUE属性的理解
2017-09-09 21:14:50就是名值对,比如一个公司的工资册,只有张三这个人名却没有对应张三的工资额,那发...因此要传递参数,就必须是正确的名值对;为什么表单提交前通常要验证一下相关控件是否是空值就是这个意思,防止“有名无实”的情 -
Web前端面试题——HTML/CSS部分理解题
2018-09-14 08:38:38(3)如何触发混杂模式:DOCTYPE不存在或格式不正确,会导致文档以混合模式呈现 (4)标准模式(standards mode)是指浏览器按照W3C标准解析执行代码;怪异模式(quirks mode)则是使用 浏览器自己的方式 解析... -
《深入理解计算机系统》到底怎样学?
2021-10-27 09:44:48优化的难点在于你需要对系统有充分理解,当然了在你做优化之前首先要保证原始程序功能正确(并且有回归测试),否则一切都是徒劳。比如你需要了解现在系统存在的性能瓶颈,才能系统性的进行优化,你才能够编写高效的... -
如何正确理解三极管的放大区、饱和区、截止区
2017-10-12 17:46:03作为电子初学者来说,模拟电路非常重要,模拟电路的三极管的应用是重中之重,能正确理解三极管的放大区、饱和区、截止区是理解三极管的标志。 很多初学者都会认为三极管是两个 PN 结的简单凑合,如下图: 这种... -
对Vue组件化的一些理解
2019-06-26 22:01:38对Vue组件化的一些理解 一、基础概念 1、概念:组件是html、css、js等的一个聚合体 2、为什么要使用组件? 1、组件化 将一个具备完整功能的项目的一部分进行多处使用 加快项目的进度 可以进行项目的复用 2... -
正确理解Spring事务和数据库事务和锁
2017-09-20 21:59:02Lock wait timeout ...http://www.importnew.com/19489.html Mysql中“select ... for update”排他锁分析 http://blog.csdn.net/claram/article/details/54023216 MySQL事务隔离级别 ... -
复合索引的正确理解
2019-08-11 11:04:07首先正确的认识复合索引的结构,非叶子节点上是存在索引值的 例如以a、b字段建立复合索引,那排列如下 通过叶子节点,就能拿到数据(1,1)、(1,2)、(2,1)、(2,4)、(3,1)、(3,2) 索引使用数量 参考 ... -
关于include的正确理解和用法
2016-10-18 19:59:36模板用include引入是非常灵活的一种布局方案。 但是由于官方教程说的不是太清楚,常造成误解。所以来说两句: ...include模板只是一段html,可以放在任何地方。它的参数不会经过定义它的那个actio -
JavaWeb是什么?简单的理解!
2020-01-03 10:36:01不知道大家怎么想的,对于不同的人会有不一样的理解,在这里我想总结一下我的个人看法: 很多高手都会告诉你JavaWeb是一个技术的总和,或者说是一种技术体系,都是比较大的覆盖面,刚入手的时候我听着也是很懵逼的,但是... -
2021-3-11HTML5第一阶段第二周答案
2021-03-11 10:35:311.对BFC规范(块级格式化上下文:block formatting context)的理解错误的是 A 内部的Box会在垂直方向上一个接一个放置 B Box垂直方向的距离由margin决定,属于同一个BFC的两个相邻Box的margin会发生重叠 C 计算BFC的... -
CSS中正确理解clear:both
2017-09-02 11:15:44原文地址:http://blog.sina.com.cn/s/blog_709475a10100wkdj.html 要注意以下几点: 1、 浮动元素会被自动设置成块级元素,相当于给元素设置了display:block(块级元素能设置宽和高,而行内元素则不可以)... -
HTML入门与进阶以及HTML5
2019-12-12 21:04:45(1)HTML是什么? (2)CSS (3)JavaScript 2、前端开发其他技术 二、基础内容 1.基础总结 2.HTML的基本标签 (1)HTML标签 (2)head标签 (3)body标签 3、段落与文字 (一)、段落标签 (二)、网页特殊... -
深入理解html5标签含义
2015-04-13 23:05:48文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?...具体会包括如:html5新的理念与想法,html5的 -
html换行符 标签
2021-06-08 15:58:25br标签的作用在 html源代码中对内容进行编辑,如果直接采用回车换行,那么浏览器解析的结果可能会是一个空格、或者被忽略,正确的做法是使用< br />标签,在 html 语言中,br标签定义为一个换行符,所以应将它... -
如何理解html标签语义化?
2016-12-28 15:51:54可以概括为:用正确的标签做正确的事情。 html语义化可以让页面的内容结构化,便于浏览器解析,便于搜索引擎解析,并提高代码的可维护度和可重用性。 比如,尽可能少的使用无语义的标签div,使用结构化标签、、。 -
如何正确使用git和github
2018-03-20 23:55:13因为没用过git,没有过协同开发经验,所以一直不太理解git工具的作用,现在就来梳理一下git工具的用法以及作用。 一、入门篇 从前,有3个人,他们想一起开发一个项目。 小白:听说最近github很火啊,我们要... -
理解RTMP、HttpFlv和HLS的正确姿势
2019-10-24 20:03:34需求比协议重要,理解你的需求在前,选择应用的协议在后! 第一、是什么? 解释这个问题有很大的难度,你所处的角度不同,决定了所需答案的不同。不管怎么样,协议是为了解决问题而生的,它有着天然的指向性。... -
关于对WEB标准以及W3C的理解和认识
2018-07-24 07:24:22大家都说,写好HTML最重要的一点是要写“语义化”的代码,即HTML标签、结构要符合所表示的语义。结合你的理解,谈谈这一观点,说说你所理解的“语义化”是什么,你平时在项目中是如何实践“语义化”的,试举出一两个... -
30 分钟理解 CORB 是什么
2018-08-23 18:20:04写在前面 ...Cross-Origin Read Blocking (CORB) blocked cross-origin response https://www.chromium.org/ with MIME type text/html. See https://www.chromestatus.com/... for more det... -
什么是换行符标签
2021-06-12 15:57:34HTML语言中换行的代码是什么?方法有很多,但要做到用的恰到好处段落标签 一个段落空一行 效果如下:是默认的换行,在你要换行的地方加进去就行,单个标签 效果如下:如果有了 ……,从到中的内容原来怎么分的行,就... -
面试题:HTML语义化的理解
2017-08-01 14:36:22简答:用正确的标签做正确的事情。 html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎...使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。 深解: 作为一个前端开发人员,你要是没 -
HTML注释方法
2021-01-23 10:42:26注释快捷键: 快捷键CTRL+/ ...为了让他人或者自己阅读代码更加方便,便于更好的理解代码。 将代码注释起来之后,代码就不会执行,可以方便删除或者还原代码块。 注释可以作为初学者的笔记使用. ...