web基础

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:超文本传输协议:
  1. 是计算机网络通信中的一种规则,属于应用层的协议 端口号80
  2. 无状态的协议,客户机和服务器之间不需要建立持久的连接,通信完就断开
  3. 遵循请求响应模型。所有的通信都构造在请求响应模型中,客户端和服务器交换数据,版本号1.1默认连接一直保持连接
  4. 访问一个URL发送多次请求,只依靠一个TCP连接就可以了
http的工作流程
  1. 客户端和服务器建立连接。new一个socket()
  2. 客户端往服务器发送请求
    a.请求行,请求的方法,http版本
    b.请求头,http头传递的元信息,告诉服务器客户端的一些信息
    c.空行,发送回车符或者空格,区分请求头和消息体
    d.消息体,存放用户传输的内容,post请求
  3. 服务器响应内容
    a.状态行,http版本和状态码
    b.响应头,包括内容描述,长度,时间戳,服务器的信息
    c.空行,发送回车符或者空格
    d.消息体,响应的内容
  4. 服务器关闭连接,客户端解析服务器发送回来的内容
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规范的组成
  1. web应用程序
  2. servlet与httpservlet
    a. servlet用于创建动态的网页,httpservlet天生就支持http
  3. 过滤器
    a.servlet2.3版本后引入了过滤器的概念,http所有请求都可以设置让他经过过滤器
  4. 安全
    a. servlet使用了jvm提供的安全功能
  5. 国际化
    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

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

启动容器,默认的配置不会调用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值