zoukankan      html  css  js  c++  java
  • java web基础

    软件架构:

    1. C/S:Client/Server 客户端/服务器端:

      * 在用户本地有一个客户端程序,在远程有一个服务器端程序
                * 如:QQ、迅雷...
                * 优点:
                     * 用户体验好
                * 缺点:
                    * 开发、安装、部署、维护麻烦

    2. B/S:Browser/Server 浏览器/服务器端:

                * 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序
                * 优点:
                    * 开发、安装、部署、维护简单
                * 缺点:
                    1. 如果应用过大,用户体验可能会受到影响
                    2. 对硬件要求过高

    3. B/S架构详解

                * 资源分类:

                    1. 静态资源:
                        * 使用静态网页开发技术发布资源
                        * 特点
                            * 所有用户访问,得到的结果是一样的
                            * 如:文本、图片、音频、视频,HTML,CSS,JavaScript
                            * 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源
                    2. 动态资源:
                        * 使用动态网页及时发布资源
                        * 特点:
                            * 所有用户访问得到的结果可能不一样
                            * 如:jsp/servelet,php,asp...
                            * 如果用户请求是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器
                * 我们要学习动态资源,必须先学习静态资源!
                
                * 静态资源:
                    * HTML:用于搭建基础网页,展示页面内容
                    * CSS:用于美化页面,布局页面
                    * JavaScript:控制页面元素,让页面有一些动态的效果

    HTTP协议

        * 概念:Hyper Text Transfer Protocol 超文本传输协议

            * 传输协议:定义了客户端和服务器端通信时发送数据的格式
            * 特点:
                1. 基于TCP/IP的高级协议
                2. 默认端口:80
                3. 基于请求响应模型:请求一次响应一次
                4. 无状态响应:每次请求之间相互独立,不能交互数据
            * 历史版本
                * 1.0:每一次请求就会建立一个新的连接
                * 1.1:服用连接


        * 请求消息数据格式

            1. 请求行

                请求方式请求url请求协议/版本
                GET /login.html HTTP/1.1.
            
                * 请求方式:
                    * HTTP协议有七种请求方式,常用的有两种
                        * GET:
                            1. 请求参数在请求行中,在url后
                            2. 请求的url长度是有限制的
                            3. 不太安全
                        * POST:
                            1. 请求参数在请求体中
                            2. 请求的url是没有限制的
                            3. 相对安全


            2. 请求头:客户端浏览器告诉服务器一些信息

                请求头名称:请求头值
                * 常见的请求头:
                    1. User-Agent:浏览器告诉服务器,我访问你使用的浏览器的版本信息
                        * 可以在服务器端获取该头的信息,来解决浏览器兼容问题 
                    2. Referer:http://localhost/login.html
                        * 告诉服务器,我(当前请求)从哪里来
                            * 作用:
                                1. 防盗链:
                                2. 统计工作:


            3. 请求空行

                空行:用来分割请求头和请求体


            4. 请求体(正文)

                * 封装POST请求消息的请求参数
            
            *字符串格式:
            PQST /login.html HTTP/1.1
            Host: localhost
            user-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; X64; rv:60.0) Gecko/ 20100101 Firefox/60.0
            Accept: text/html , application/ xhtml+xml , application/xml;q=0.9,*/*;q=0.8
            Accept- Language: zh-CN, zh;q=0.8,zh- TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
            Accept- Encoding: gzip,deflate
            Referer:http://localhost/login.html
            Connection: keep-alive
            Upgrade- Insecure- Requests: 1
        
            username=zhangsan

    WEB服务器原理

      我的理解为:

        1. web服务器可以接收客户端浏览器用户发来的请求然后处理请求,最后作出响应回应客户端浏览器。

        2.在服务器中可以部署web项目,让用户通过浏览器来访问这些项目

      

      查到它的工作原理:

        步骤1.连接过程。连接过程就是Web服务器和其浏览器之间所建立起来的一种连接

        步骤2:请求过程。请求过程就是Web的浏览器运用socket这个文件向其服务器而提出各种请求。

        步骤3:应答过程。应答过程就是运用HTTP协议把在请求过程中所提出来的请求传输到Web的服务器,进而实施任务处理,然后运用HTTP协议把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面。

        步骤4:关闭连接。关闭连接就是当上一个步骤--应答过程完成以后,Web服务器和其浏览器之间断开连接之过程。

        Web服务器上述4个步骤环环相扣、紧密相联,逻辑性比较强,可以支持多个进程、多个线程以及多个进程与多个线程相混合的技术。

    java web开发环境与搭建

      * 常见的java相关的web服务器软件:

              * webLogic : oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
              * webSphere : IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
              * JBOSS : JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
              * Tomcat : Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。 开源的,免费的。

      * JDK

        java开发离不开JDK

        

           我用的是jdk1.8.0_202,具体安装配置过程就不写了,学过javase的这些应该都是基础。

      

      * Tomcat

        我用的是tomcat服务器,毕竟他免费嘛。

        

      apache-tomcat-9.0.21版本,怎么安装配置也不写了,网络上都可以查到

      IDEA

        

        很好用的一款java集成开发环境,安装过程也省略,网上都能找到

      IEDA配置tomcat

      

      

      

      

       指导本机安装的tomcat路径,配置成功过后

       

       以后也可以在这里增加修改一些配置

      这样就把idea和tomcat关联起来了

      还有种方法就是把web项目放到

        

       这个目录下,启动tomcat就可以访问web项目,但这种方式用于最终的项目部署了。

        

  • 相关阅读:
    Linq的Except
    BZOJ 1324 Exca神剑 最小割
    先学习Oracle 11g的Automatic Diagnostic Repository新功能
    NYOJ 300 && hdu 2276 Kiki & Little Kiki 2 (矩阵高速功率)
    V微软S2015下载:开展Win10/Linux/iOS多平台软件
    LeetCode Length of Last Word
    QT 打开文件对话框汇总
    取缔Chrome装载电脑管家的广告过滤脚本代码
    三种常见的图像处理双三次插值算法
    Best Time to Buy and Sell Stock I,II,III [leetcode]
  • 原文地址:https://www.cnblogs.com/lfq4588/p/12854803.html
Copyright © 2011-2022 走看看