JavaWeb工作原理

解析HTTP协议

    分层模型:
        OSI: 物理层->数据链路层->网络层->传输层->会话层->表示层->应用层
        TCP/IP:物理层->数据链路层->网络层->传输层->应用层
    什么是HTTP协议:
        HTTP协议是超文本协议,是一套计算机在网络中通信的一种规则。
        HTTP协议是一种无状态的协议。请求->响应 之后就关闭连接
        浏览器通过HTTP协议向WEB服务器交换信息的时候,服务端返回的文件都有相关的类型(MIME)
        MIME:设定某种扩展的文件,用一种应用程序的打开方式的类型。
    HTTP处理流程:
        1.客户端与服务端建立连接
        2.客户端向服务端发送request请求
        3.服务端处理请求,并生成response响应返回给客户端
        4.服务端关闭连接,客户端解析response并处理

WEB服务器的缺陷

缺陷:
    只能向客户端发送静态页面
解决:
    在运行Web服务器软件的Web服务器主机上增加一个辅助应用,这个应用负责生成动态页面,并且能与Web服务软件通信。

服务端网页编程JAVA

Servlet
    定义:
        Servlet是一个在web服务器端或者应用服务器端运行的JAVA程序,主要用于在服务端产生动态内容
        Servlet是与平台无关的java类
    主要任务:
        1.读取客户端发送的显示或者隐式的数据
        2.生成结果
        3.向客户端发送显示或者隐式的数据
     Web容器
        定义:
        负责管理和运行servlet
        对servlet的支持:
            通信支持:
                利用容器提供的方法,我们能轻松的让servlet和web服务器对话。
            生命周期管理:
                容器控制着servlet的生死。它负责加载类、实例化、初始化servlet、调用servlet方法等等
            多线程支持
                容器会自动的为它接收到的每个servlet请求创建一个新的Java线程
        JSP支持:
            容器自动会将jsp转换为servlet代码
         处理安全性:
            web容器实现访问权限控制
    Web容器Tomcat
        目录结构:
            bin 启动和关闭服务器的脚本文件,以及其他tomcat命令
             conf 存放配置文件,如:server.xml
             lib 服务器所需的所有JAR文件
             logs 日志文件
             temp 存放tomcat运行过程中产生的临时文件
             webapps 应用程序部署目录
             work 存放由JSP生成的Servlet的目录(可以全部删除,重新启动后会重新生成)
     Servlet规范
         Servlet规范只定义了一个容器必须实现的标准功能
     web容器和servlet对响应和请求的处理
         1.客户端向web服务器发送一个请求
         2.HTTP请求被web服务器接收,如果请求的是静态页面,则由web服务器负责处理。
         如果请求的是Java web组件(servlet或jsp),移交给web容器。web容器可以在主机的同一个进程、不同的进程或其他web服务主机的进程中启动
         3.web容器根据servlet的配置文件(web.xml)确定调用的具体的servlet类,传入request,response
         4.servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么以及其他一些信息。servlet处理完成后把返回的信息放入response中返回给客户端
         5.一旦servlet完成请求处理,web容器就会刷新response,把控制权返回给web服务器

Java Web应用程序的组成

主要组成部分

    配置文件:web.xml
    静态文件和jsp
    类文件和包
    文件目录结构(主要部分):
        AppName
        AppName\WEB-INF
        AppName\WEB-INF\web.xml
        AppName\WEB-INF\classes
        AppName\WEB-INF\lib
WEB-INF下的文件是不可访问的

总结问题:

HTTP处理流程是怎么样的?
HTTP请求和响应包括哪些内容?
Web服务器的缺陷是什么?Java是怎么样解决这个缺陷的?
Servlet主要任务是什么?
Web容器对servlet支持包括哪些?
Java Web应用程序由哪几部分组成?
Tomcat结构是怎样的?

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值