java URL、HTTP与HTML+CSS
二、API(Application Programming Interface,应用程序编程接口) 1
一、Web三大基石
URL:Uniform/Universal Resoure Locator统一资源定位符 标识资源的位置
HTTP:Hyper Test Transtormation Protocal :规定的资源传输格式
HTML :Hyper Test Markup Language超文本标记语言
资源/内容本身的格式
Web 就是互联网分享资源/内容
www :World wide web
Deprecated Methods:被废除的方法
推荐书籍:《失控》
二、API(Application Programming Interface,应用程序编程接口)
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API与系统调用的区别:系统调用代码都处于内核态,API是操作系统提供的一组函数,通常以库的形式存在,供用户调用,所以,API代码可能是完全是用户空间代码,也有的API调用了系统调用。
常用的方法
Endswith()
Startwith()
Substring():子字符串
Equals()
equalsIgnoreCase()
indexOf()
Length()
replaceAll()
toUpperCase()
toLowerCase()
Intern()
字符串字面量在编译时被放到了字符串池中
临时生成的字符串在堆中
两者保存位置不同,访问地址自然不同
而==判断是否为“同一”东西,即内存一致
==是“同一性”判断,equals是“相等”性判断
三、题目分析总结:
1.Java中float和double只能表示小数的近似值,如float的0.1+0.8的结果不等于0.9。相比来说double只是比float精度高一点而已。
2.Java是强类型编程语言,变量声明之后其类型不会变,赋值时也只能赋类型兼容的值。
3.如果环境变量的【用户变量】中有一个 JAVA_HOME变量,而【系统变量】中也一个JAVA_HOME变量,在命令行中敲echo
%JAVA_HOME%时会显示【系统变量】中的值,因为系统变量优先级更高。X
解析:用户变量优先
4.f/else与switch的区别在于:if/else是基于boolean值的双分支,switch是基于整数、枚举、字符串的多分支
5.单一职责原则是程序设计最主要的原则之一,它对于方法和类的设计都有效。程序设计的入门指导原则!
6.Eclipse为调试专门提供了调试透视图。调试时,可以观察到程序的调用栈,可以看到方法内部变量的值
7.JDK是JavaSE的开发工具包
java包名采用小写字母
java方法名应该使用驼峰命名法
8.关于Java异常处理,说法正确的是 ABCD
A Java中的异常可以通过throws传递出去
B Java中的异常可以通过throw抛出
C Java中的异常可以通过catch捕获
D Java中的finally语句一定会被执行
9.请翻译以下单词:
Stack 栈、Heap 堆、
Refactor 重构、Source 源代码、
Constructor 构造函数、extends 继承的关键字
四、图解URL及URL的理解
http:// baidu.com :80 /path ?q=a #hash
协议 主机名 端口号 资源位置 Query String Hash Tag
1.协议:
对于操作系统来说,不同的协议关联着不同的应用程序
http/https -> 浏览器
tel -> 电话拨号程序
mailto -> 电子邮件
http——超文本传输协议资源
https——用安全套接字层传送的超文本传输协议
mailto——电子邮件地址
ldap——轻型目录访问协议搜索
file——当地电脑或网上分享的文件
news——Usenet新闻组
gopher——Gopher协议
telnet——Telnet协议
对于资源来说,不同的协议意味着不同的传输格式
URL 中的协议都是应用层协议
2.主机
构成:主机名 +
域名
主机名表示提供服务的一台服务器或一个服务器集群
www 百度提供的是网页搜索服务
Map 百度提供的是地图服务
域名 表示一个公司、机构、组织、个人等
一个域名下可以有N个主机
3.DNS
主机名.域名 通过DNS解析成IP地址
4.IP地址
本质上来说是一个整数
192.168.1.211(点分十进制转换格式,方便记忆)
实际是4个字节,是一个int值
网络上一个服务器/电脑的门牌号
5.端口号
一台电脑上有N个联网的程序,为了区分是哪个程序在收发数据包,需在数据包中用一个整数来区分不同的程序-----端口号
Short型的整型 16位的
端口的使用有一个并不严格的管理机制
众所周知的程序或服务,它们的端口号已经习惯被固定了
例如:Web服务:80端口
安全Web服务:433
FTP服务: 21
MySQL数据库服务: 3306
操作系统会把小的端口号(0~5000)保留下来,而大的端口号随机分配给程序使用
端口在内网与外网通信中,可以被NAT利用,用来区分内网中的计算机
6.查询字符串 QueryString
Key1 = value1&key2 = value2
URLEncode 这种方式把&=等特殊字符进行编码 %E2
编
0码方案,而非转义方案
查询字符串会传到服务端,并被服务器端接收和使用
7.Fragment/Hash 片段
只会被浏览器识别和利用
不会传到服务端
五、HTTP协议与寄信是类似的
B(主动,暗处) --> S(明处、被动)
不对等的通信结构
发消息:请求 Request
接收消息、处理并回应:响应 Response
HTTP消息报文 == 一封信/明信片
请求报文
请求行==信封上的地址
GET http://www.baidu.com HTTP/1.1
请求方法 URL(请求的资源) 协议和版本号
请求头 ==
信封上的其他信息
Accept:text/html;*/*
Accept-Language:zh-CN;zh
请求头名:请求头值
部分请求头
请求头中不能有中文,如果非要写中文,请编码(URLEncoding)
Cookie:向服务端发送少量数据(用户偏好设置,用户身份标识)
User-Agent:将操作系统、浏览器等信息发送给服务器
Content-Type:表示能够发送什么格式的请求内容(内容格式)
Accept:表示能够接受什么格式的响应
请求体 ==信封上的信纸(有一些请求没有请求体,相当于寄明信片)
请求头的格式在Content-Type中标识出来
请求体最常用的格式
X-www-form-urlencoded
Key1 = value1&key2 = value2
multipart/form-data
上传文件的专用格式
json
{
Key :value,
Key2:value2
}
Xml
<data>
<key1>value1<key1>
<key2>value2<key2>
<data>
响应报文
响应行 ==信封
200 OK HTTP/1.1
状态码 状态描述 协议版本呢
响应头 ==信封上的其他信息
响应头名:响应头值
同样不能有中文(中文需要URLEncode)
部分响应头
Content-Type
Content-Length
Set-Cookie
给浏览器设置Cookie,设置后浏览会保存这个Cookie,下次请求的时候,会把Cookie再发给服务器
响应体 ==信纸(有一些响应也没有响应体)
Google Chrome 内核的浏览器或IE内核的浏览器按F12
开发者工具
1. HTTP请求头
accept:浏览器通过这个头告诉服务器,它所支持的数据类型。如:text/html, image/jpeg
accept-Charset:浏览器通过这个头告诉服务器,它支持哪种字符集。
accept-encoding:浏览器通过这个头告诉服务器,它支持哪种压缩格式。
accept-language:浏览器通过这个头告诉服务器,它的语言环境。
host:浏览器通过这个头告诉服务器,它想访问哪台主机。
if-modified-since:浏览器通过这个头告诉服务器,缓存数据的时间
referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的(防盗链)。
Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是维持链接。
2. HTTP响应头
location:服务器通过这个头告诉浏览器跳到哪里。
server:服务器通过这个头告诉浏览器服务器的型号。
content-encoding:服务器通过这个头告诉浏览器数据的压缩格式。
content-length:服务器通过这个头告诉浏览器回送数据的长度。
content-language:服务器通过这个头告诉浏览器语言环境。
content-type:服务器通过这个头告诉浏览器回送数据的类型。
refresh:服务器通过这个头告诉浏览器定时刷新。
content-disposition:服务器通过这个头告诉浏览器以下载方式打开数据。
transfer-encoding:服务器通过这个头告诉浏览器数据是以分块方式回送的
以下三个表示服务器通过这个头告诉浏览器不要缓存
expires:-1
cache-control:no-cache
pragma:no-cache
3. HTTP响应状态码
100-199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200-299:表示成功接收请求并已完成整个处理过程,常用200
300-399:未完成请求,客户需进一步细化请求,常用302,307,304
400-499:客户端的请求有错误,常用404
500-599:服务器端出现错误,常用500
Firefox 菜单-->开发者-->网络
HTTP 工具1:
Telnet
默认需在控制面板--程序--添加删除windows功能
选中telnet安装
打开cmd命令行,把屏幕缓冲区调到最大值
Telnet www.zhiyou100.com 80
Ctrl + ] 开始回显
按回车进入编辑
GET/HTTP/1.1
HOST:www.zhiyou100.com
按2次回车,不能按退格键修改
准确地显示HTTP请求和响应报文
不适合发送复杂的请求
HTTP工具2
推荐使用Firefox中的HttpRequester
图形化,功能强大,可以很方便地设置复杂的请求报文
可以查看原始报文
很容易安装和使用(Chrome中也有类似插件,但需要***)
六、HTML基本结构
<!DOCTYPE html > 文档类型声明
<html> 文档根标签
标签大多数成对出现,但也有但标签
<head> </head> 文档头,文档头的内容不会在【网页】上出现
文档头中的数据是被浏览器使用的
可以给浏览器指明网页的编码格式
可以给浏览器指示显示什么窗口标题
可以给浏览器指示网页的其他行为
<body> </body> 文档主体,body中的内容显示在网页中,除非它被隐藏掉 文字、图片、视频、音频、程序(Applet)、flash(Silverlight)...
网页又被称为超文本!
</html>
基本图文标签
标题h1~h6 head
段落 p paragraph
图片 img[src] image
超链接 a[href] anchor
块标签/行标签/行内块
块标签: 独占一行,后面不能显示其它标签(自带换行符)
可以设置宽度和高度 h1、p
行标签: 可与其它行标签共处一行,太长了,自动换行(不带换行符) 宽度和高度无效
a标签
行内块: 可与其它标签共片一行
但是可以设置宽度和高度 img标签
通用块标签: div
通用行标签: span
列表
有序列表 ordered list
ol>li*n n:指定生成n个li
无序列表 unordered list
ul>li*n
详情列表 details list
dl>(dt+dd)*3
表格
table>(tr>td*n)*m
合并单元格:rowspan =
“2” 把2行合并
Colspan = “4” 把4列合并
表格线:border=“1”;
表单
接收用户的输入 input
text 普通文本
password 密码
tel 手机号
email 邮件
number 数字
radio 单选框
checkbox 复选框
submit 提交按钮
button 普通按钮
reset 重置按钮
<botton> 按钮
让用户选择--选择框select>option
选择框多选 <select multiple>
多行文本框 textarea
label 提示标签
fieldset 表单分组
上传文件 input[type = file]
存放图片 input[type = image ]
重要功能:发起HTTP请求
发起请求的条件如下:
form[action =提交地址][method =提交方法][enctype
= multipart/form-data]
input[type = submit] submit按钮 <buttom>提交<button>
页面跳转(刷新)
数据的key有input\select\textarea的name属性决定
对于radio\checkbox多个选项共用一个key,就要求他们的name相等
<input type =”radio” name
=”sex” value =“男”>
<input type =”radio” name =”sex” value
= “女”>
流式布局
网页默认的布局方式
分块标签和行标签
块标签独占一(多)行
行标签可共享一(多)行
布局时,除遵守行和块的性质外
默认遵守从上到下,从左到右的排列方向
在上下方向上,尽可能少地占用空间
总结:与人类书写习惯相同版本
<iframe>
在页面中加载一个子页面
用链接控制iframe的加载内容:
在iframe
加上name属性
在a上target属性等于iframe标签的name属性值
样式表
在html文件中导入样式表文件
<link rel “stylesheet” href = 样式表文件的位置
<link>标签通常放到<head>标签中,否则页面太大时,可能会发生闪烁现象
样式语法
筛选器{
样式名:样式值; 注意符号都是英文的!
}
筛选器
控制样式影响的范围
标签筛选器 body{} h1{}
筛选器 ==
标签名
id筛选器 #idValue{}
<p id = “idValue”>控制这里</p>
类筛选器 .className{}
<div class =”className className1 className3”></div>
<span class = “className”></span>
....class =”className”
/*body{
background-color:#456;
}*/
*{
/*计量尺寸 border-box 边框盒
Content-text 内容盒
内容 +内边距 = padding-box
内容 + 内边距 + 边框 =border-box
*/
box-sizing:border-box;
}
body span{
;
/*外边距
设置四个值
上右下左
设置两个值
上下左右
margin-top 上
margin-bottom 下
margin-left 左
margin-right 右
*/
padding:0px;
/*内边距
上右下左
padding-top 上
padding-bottom 下
padding-left 左
padding-right 右
*/
}
.red-text{
/*文本颜色*/
color:red;
font-size:24px;
font-style:italic;
/*字体*/
font-family: 微软雅黑;
font-weight:bold;
/*字体装饰 下划线 */
text-decoration:underline;
/*行高*/
line-height:100px;
/*段首缩进2em*/
text-indent:2em;
/*文本的水平对齐 */
text-align:center;
/*垂直对齐 单元格内起作用*/
vertical-align:middle;
}
#box span{
background-color:yellow;
}
#box{
/*边框线: 复合样式 线粗细 线型 颜色
border-width
border-style
border-color
*/
border:3px solid blueviolet;
padding:12px 20px;
height:300px;
width:600px;
}
java URL、HTTP与HTML+CSS的更多相关文章
- java url demo
// File Name : URLDemo.java import java.net.*; import java.io.*; public class URLDemo { public stati ...
- 生成输出url时,使用CSS来控制超链接的格式
在前文<生成输出url>中的第5点,介绍了使用ActionLink生成输出url中指定html标签属性. 例如, 假设Global.asax中的路由定义为: public static v ...
- Java URL类踩坑指南
背景介绍 最近再做一个RSS阅读工具给自己用,其中一个环节是从服务器端获取一个包含了RSS源列表的json文件,再根据这个json文件下载.解析RSS内容.核心代码如下: class Presente ...
- UrlUtils工具类,Java URL工具类,Java URL链接工具类
UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...
- java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串
java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 package com.zdz.test; im ...
- 20180826(05)- Java URL处理
Java URL处理 URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址.表示为互联网上的资源,如网页或者FTP地址. 本章节我们将介绍Java是 ...
- java URL和URLConnection
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 第59节:Java中的html和css语言
欢迎到我的简书查看我的文集 前言: HTML 英文: HyperText Markup Language内容 html是超文本标记语言,是网页语言的基础知识,html是通过标签来定义的语言,所有代码都 ...
- java中jsp页面的css资源定位---备忘录
1:同级目录下(应该是相对定位) web-inf下的内容是不对外开放的/安全的,不能通过url直接访问.已避免非法人员通过url自己操作一些比较私密的文件信息. 能在sevlet(或者spring的c ...
随机推荐
- Linux下解压tar.xz
tar xvJf ***.tar.xz 注意零散文件,最好放到文件夹里
- SPD
一般是在内存条上的.1.SPD是SERIAL PRESENCE DETECT的缩写,中文意思是模组存在的串行检测.也即是通过上面讲的IIC串行接口的EEPROM对内存插槽中的模组存在的信息检查.这样的 ...
- 每日英语:Why Chinese Companies Lack Homegrown Luxury Brand Power
Chinese companies build iPads, high-speed trains and world-class telecom gear, but they can't seem t ...
- Windows Phone 推送通知的第四类推送
在 MSDN 文档有关 Windows Phone 推送通知 有关推送的内容包含 Tile.Toast.Raw 这三种通知.这三种通知 的方式类似,运用的场合不同,这里不再赘述,它们的运行原理类似: ...
- lucene4.7学习总结 (zhuan)
http://blog.csdn.NET/mdcmy/article/details/38167955?utm_source=tuicool&utm_medium=referral ***** ...
- 为女票写的计算工作时间的SQL(二)
将非工作时间.非工作日.节假日去掉,计算工作时间,如下: 一.实现 -- 节假日表 CREATE TABLE Holiday ( id ) NOT NULL, DATE ), flag ) , PRI ...
- java 解压.gz文件
1.//建立gzip压缩文件输入流 2.建立gzip解压工作流 fileInputStream = new FileInputStream(filePath + fileName); //解凍する G ...
- Android——Activity初学
manifests里的AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> < ...
- 重启oracle方法一二三
startup nomount alter database mount alter database open Linux:方法1 用root以ssh登录到linux,打开终端输入以下命令: cd ...
- EasyUI Pagination 分页分页布局定义 显示按钮布局
//分页布局定义.该属性自版本 1.3.5 起可用.//布局项目包括一个或多个下列值://1.list:页面尺寸列表.//2.sep:页面按钮分割.//3.first:第一个按钮.//4.prev:前 ...