Javaweb

来源:互联网 发布:美国本科预科 知乎 编辑:程序博客网 时间:2024/06/05 11:50
Javaweb
http协议端口号:80
ftp协议端口号:21
1、TCP/IP协议:
应用层:我们编写的程序位于引用层,应用程序是和TCP/IP打交道 http、ftp
传输层:TCP/UDP
网络层:IP层
数据链路层+物理层:以太网,ATM,硬件的接口

客户端连接服务器
ACK = 0:未建立连接
SYN = 1:客户端已经发起了请求
服务器被动链接
客户端 服务器
1.————————>ACK=0,SYN=1,seq=x
2.<————————ACK=1,SYN=1,ack=x+1,seq=y
3.————————>ACK=1,seq=x+1,ack=y+1 服务器端就知道当前用户连接有效
ACK表示响应,SYN表示建立连接,ack:确认码,seq:顺序码

client
创建socket()
connect()连接指定的计算机端口(ip/端口)
关闭socket()

server
Serverscoket();
bind():绑定scoket和端口
listen():监听端口
accept():接收客户端传递过来的内容
读取字符
关闭

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

Servlet主要任务
servlet以及容器来解决CGI效率的问题,会创建一个健壮的环境
1、运行web服务器或者应用服务器上面的一个Java程序,主要用于生成动态的内容
2、servlet是与平台无关的
特点:
a、Servlet是常规的Java代码,代码中用了一些新的API,但不涉及新的语法
b、Servlet中有我们不熟悉的重要语句,不属于JavaSE,属于单独的规范
c、Servlet对标准类(HttpServlet)进行了扩展
d、Servlet没有main函数
web容器
servlet受控于另一个java应用程序,成为web容器。
给处于容器中的应用程序组件提供一个环境,servlet直接跟web容器的环境变量进行通信,没有必要关注其他系统问题
web容器,主要是由web服务器来实现
容器对Servlet的支持包括:通信支持,生命周期支持,多线程支持,JSP支持,处理安全性

服务器
IIS:微软
Apache
Tomcat——Apache下属:web容器
Jboss——ejb容器
weblogic——分布式的功能

Tomcat
Tomcat是源于Apache基金会的一个项目,是一个优秀的web容器,也是一个http服务器。
开源,稳定,高效,免费
Tomcat的目录结构
bin:存放启动和关闭的Tomcat的脚本文件。
conf:存放各种配置
lib:服务器支撑的jar包
logs:主要存放日志文件
temp:存放临时文件
webapps:web应用的存放目录,外界能够访问的web应用程序
work:工作目录。JSP生成的代码就存放里边

javaweb工程结构
javaweb02——工程名
src:存放代码
webroot:
WEB-INFO:客户端无法访问
lib:存放支撑项目的jar包
classes:放代码的编译文件
web.xml:是整个工程的配置文件
0 0