您现在的位置:首页 >> 前端 >> 内容

web基础

时间:2016/12/30 9:32:00 点击:

  核心提示:IP地址:IP地址是每台电脑都有的的,就像你们家的们牌号一样,但是有的电脑的IP地址是会有变化的(比如拨号上网,每一次你连接,IP地址都不同),就像天天搬家一样。但是端口,它就像你家的窗口门口一样,你...
IP地址:IP地址是每台电脑都有的的,就像你们家的们牌号一样,但是有的电脑的IP地址是会有变化的(比如拨号上网,每一次你连接,IP地址都不同),就像天天搬家一样。

但是端口,它就像你家的窗口门口一样,你可以选择打开它或者是关闭它。
一台电脑上有很多个端口,就像你家不会只有一扇窗一样,但是IP地址在“任何同一时刻”只能有一个。

上面说过有的电脑的IP是会变化的,但是你每次连接的时候只能有一个IP地址,所以我说“任何同一时刻”只能有一个

为什么要用XML

问题一:各平台之间的程序很难直接交流
问题二:各程序之间很难直接交换数据,怎样在两个程序之间无二义性的传递数据

什么是XML

a. 可扩展的标记语言
b. 设计用来传输和存储数据
c. 允许开发人员自定义标签名,但要符合规范

XML和HTML区别

a. XML不是HTML的代替,他们两个有各自的功能
b. XML设计用来传输和存储数据,重点在于数据

语法要求:

必须要有XML声明,
有且只有一个根元素,
标记大小写敏感,
属性值用引号,
标记成对,
空标记关闭,
元素正确嵌套

XSL / XSLT

xml最大的特点就是内容和格式分离,xml不包含如何显示数据,xls解决了xml数据显示问题
xsl、xslt可以随意将xml文档装换为html,pdf。

XPath / XQuery

数据库和Sql之间的关系

XML DOM / SAX

dom:文档对象模型,定义了一组接口,用这些接口可以解析或者创建xml文档,基于对象的,与平台和语言无关
特点:整个文档必须在内存解析和储存,对大型文档来说占用资源严重,数据都在内存解析获取数据效率高

SAX:sax是xml简单应用程序的接口,sax解析文档时基于事件驱动,sax使用回调机制来通知桌面应用程序
特点:基于事件驱动模型,标签一个一个解析,开始标签和结束标签对应不同的时间,
不会将整个文档加载到内存,所以不会浪费内存资源

dtd(文档类型的定义) document type definition

用来约束xml文档书写的规范,xml约束
xml DTD

> xml Scheme

Tcp/Ip协议:

应用层 :我们编写的程序位于引用层,应用程序是和TCP/UDP打交道
传输层 :TCP/UDP
网络层 :IP层

> 数据链路层+物理层 :以太网,ATM,硬件的接口

物理传输介质

1.——————>ACK=0,SYN=1,seq=x
2.<——————SYN=1,ACK=1,ack=x+1,seq=y
3.——————>ACK=1,seq=x+1,ack=y+1 服务器知道当前这个用户连接有效
ACK:表示响应 SYN:表示建立连接 ack:表示确认码 seq:表示顺序码

client
创建socket()
connect连接指定的计算机端口(ip,端口)
send()往socket写入信息
关闭socket()

server
创建serverbsocket()
bind()绑定socket和端口号
listen()监听端口
accept()接收客户端传递过来的内容
读取字符

> 关闭

http:超文本传输协议:
是计算机网络通信中的一种规则,属于应用层的协议 端口号80 无状态的协议,客户机和服务器之间不需要建立持久的连接,通信完就断开 遵循请求响应模型。所有的通信都构造在请求响应模型中,客户端和服务器交换数据,版本号1.1默认连接一直保持连接 访问一个URL发送多次请求,只依靠一个TCP连接就可以了
http的工作流程
客户端和服务器建立连接。new一个socket() 客户端往服务器发送请求
a.请求行,请求的方法,http版本
b.请求头,http头传递的元信息,告诉服务器客户端的一些信息
c.空行,发送回车符或者空格,区分请求头和消息体
d.消息体,存放用户传输的内容,post请求 服务器响应内容
a.状态行,http版本和状态码
b.响应头,包括内容描述,长度,时间戳,服务器的信息
c.空行,发送回车符或者空格
d.消息体,响应的内容 服务器关闭连接,客户端解析服务器发送回来的内容
serviet以及容器来解决CGI效率的问题,会创建一个健壮的环境

1.运行web服务器或者应用服务器上面的一个java程序,主要用于生成动态的内容
2.servlet是与平台无关的java程序
3.是常规的java代码,新的API没有新的语法
4.servlet没有mian()方法
5.不属于J2SE属于单独的规范

容器对servlet的支持包括

——通信支持
——生命周期管理
——多线程支持
——JSP支持
——处理安全性

服务器:

IIS微软提供
apache
tomcat –web容器
jboss-ejb容器
weblogic-分布式的功能

tomcat:

comcat源于apance基金会里面的一个项目。他说一个优秀的web容器,又是一个http服务器
开源、稳定、高效、免费。

tomcat的目录结构

bin:存放启动和关闭tomcat的脚本文件。
conf:存放tomcat的各种配置
lib:服务器支撑的jar包
logs:主要存放日志文件。
temp:存放临时文件
webapps:web应用的存放目录,外界能够访问的web应用程序
work:工作目录,jsp生成的代码就存放在这里面

servlet规范的组成
web应用程序 servlet与httpservlet
a. servlet用于创建动态的网页,httpservlet天生就支持http 过滤器
a.servlet2.3版本后引入了过滤器的概念,http所有请求都可以设置让他经过过滤器 安全
a. servlet使用了jvm提供的安全功能 国际化
a.能够开发任何语言的内容,来自于java平台的国际化和本地支持
servlet的api结构1

1.servlet API就是专门用于就发servlet的java类和接口,web容器和servlet之间用SPI进行交流
2.一个servlet程序就是运行在服务器的一个servlet API的java类。对了与容器的一些规范
3.javax.servlet,GenericServlet 当前这个类实现了servlet的基本特征和功能,普通的servlet
4.java.servlet.http.HttpServlet 实现Genericservlet。他也是一个servlet。还对http进行了支持
5.当我们启动服务器时,启动服务器时,用户访问servlet,容器会将http请求数据封装到httpservletRequest,也会产生一个httpservletReqons对象
6.每次请求都会到达service()方法。容器自动调用

配置web.xml文件以调用servlet

注册servlet
映射URL

生命周期
容器装载实例化servlet init初始化(-1:在第一次访问时加载 , 正数:在启动时加载 ,数字越小优先级越高) service服务方法 销毁

启动容器,默认的配置不会调用init方法,当第一次访问才调用init方法,以后的访问进入service,自动创建多线程,容器关闭时,自动销毁servlet(init、destroy只执行一次, service可执行多次)

servletContext

容器一旦启动就会自动创建一个上下文对象(servletContext),用于描述servlet运行环境的一些信息
使得servlet可以和容器就行通信,代表当前web应用
servletConfig对象维护了servlet对象的引用,可以通过config-getServletContext获取到上下文对象
一个web应用中的所有servlet共享了一个servletContext。每个servlet之间可以通过servletContext来进行通讯,也成为Context域对象
所有的用户也共享一个

初始化方法存在就必须通过config.getServletContext
初始化方法不存在就可以通过this.getServletContext

Tags:WE EB B基 基础 
作者:网络 来源:qq_3586036