JavaWeb

Posted 陈一帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb相关的知识,希望对你有一定的参考价值。

HTTP协议原理

  • socket默认使用tcp协议
  • http协议是处于应用层的协议 端口:80 ftp:21

TCP/IP 模型:

  • 应用层、传输层、网络层、物理加数据链路层
  • 应用层:主要用来存放应用程序
  • 传输层:TCP/UDP协议
  • 网络层:IP和端口
  • 物理+数据链路:以太网,atm协议

客户端给服务器发消息经历的步骤:

  • 1、打开浏览器输入地址,浏览器会创建一个socket,底层封装的是TCP协议。
  • 2、连接到指定的计算机,通过ip地址匹配地址。
  • 3、向socket中写入信息。
  • 4、关闭socket。

服务器给客户端发消息经历的步骤:

  • 1、创建socket对象
  • 2、绑定socket和端口
  • 3、监听端口
  • 4、接受用户请求
  • 5、通过输入流获取到数据
  • 6、关闭socket

http

http协议:超文本传输协议
html:超文本标记语言

http特点

1、遵循请求响应模型--- 只要发送请求成功,服务器必定会响应回客户端
2、http是无状态的协议---每次交互成功后,服务器就断开连接,客户端会执行socket.close(),下次再访问服务器就会识别为新的请求--- http现在是有状态了

处理流程

1、客户端和服务器建立连接,tcp三次握手 2、客户端发请求 3、服务器接受请求,处理响应 4、关闭连接

http请求

  1. 请求行:主要定义了请求的方法,get和post,请求地址,http协议
  2. 请求头:头元素信息,告诉服务器客户端的一些信息(访问方式)
  3. 空行:发送回车符或者是空格,目的是区分请求头和消息体
  4. 消息体:post请求将内容放在消息体,用以传输数据

Web服务器的缺陷

  1. 只能想客户端提供静态网页内容------增加一个辅助应用生成动态页面

建东塔服务器端内容的过程

  1. cgi(通用网关接口),可以用任意语言编写--缺点:耗资源,每次请求就打开一个进程

服务器端Web编程原理

Servlet与Web容器

  1. 由sun公司设计的用来处理动态网页的一种技术,有以下这些特点:
    1.1 servlet程序是一个多线程程序
    1.2 没有main方法,无法自己实例化本类

Web容器

  1. 作用是:运行和管理servlet的区域,而web容易一般运行在服务器内部。
  2. web容器给处于其中的组件提供了运行环境,使servlet和jsp程序直接和容器中的环境变量进行交互,开发者不必关心其他的系统问题。web容器主要是由web服务器来实现。例如:Tomcat、weblogic、Jboss

web容器和服务器

  1. 在设计上两块是分开的,不同的概念,web容器管理servlet或者jsp,web服务器是运行程序的一个软件。但是一般来说web服务器就结合了web容器的功能,比如Tomcat、jboss等等

web容器是如何来管理servlet或者jsp的(容器对servlet的支持)

  1. 通信支持:
    • 可以利用容器提供的方法,能够轻松的让servlet程序和web服务器进行对话,那样的话我们就不用再创建socket,也不用监听端口,在开发过程中不用去关心容器是如何来调用servlet方法的,我们主要关注业务
  2. 生命周期管理:
    • servlet程序的存在与销毁有容器来管理,容器会在相应的时候加载servlet,初始化servlet,调用方法处理请求,以及servlet销毁,资源回收都是容器来进行管理
  3. 多线程
    • 容器会给每个servlet创建多线程程序,用户访问服务器的servlet创建线程,运行结束后线程就会被回收
  4. jsp支持
    • 容器会自动处理jsp程序
  5. 安全性支持
    • javaweb应用程序通常需要一些访问限制,容器对web容器进行了安全性设置,有些内容客户端无论如何是访问不到的

Java Web应用程序的组成

Tomcat介绍

  1. Tomcat特点:开源、免费、效率比较高
  2. bin目录:主要用来存放启动Tomcat和关闭Tomcat的脚本文件
  3. conf:存放服务器的各种配置文件
  4. lib:存放Tomcat运行所需的jar包
  5. logs:存放Tomcat运行过程中产生的日志文件
  6. temp:存放临时文件
  7. webapps:存放应用程序
  8. works:工作目录,存放jsp的各种运行产生的文件

搭建运行环境

依赖于jdk、jre

javaweb项目名称: html css js img WEB-INF lib classes web.xml

客户端能访问的内容是java项目下面HTML、css、js等,WEB-INF,目录下面的内容,客户端无法访问,容器有安全性设置

lib包含所有运行需要的jar包 classes:主要存放编译后的文件 web.xml是程序的核心配置文件





以上是关于JavaWeb的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat

Java学习笔记总结

JavaWeb基础

JavaWeb复习

JavaWeb——下载并安装Tomcat服务器