①前言(1)-了解Java Web 开发

1. Web开发的相关知识


web,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为:
—–| 静态web资源:html、css、js等。指web页面中供人们浏览的数据始终是不变
—–| 动态web资源:ASP、PHP、js/servlet等。指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同
  在Java中,动态web资源开发技术统称为Javaweb。
—–|服务器: WebLogic、WebSphere、Tomcat(Apache)
Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。

这里写图片描述

  • —–| 虚拟主机: 一个真实主机可以运行多个网站,对于浏览器来说感觉就像在独立主机工作,我们可以说每一个网站都运行在一个虚拟主机上
  • —–| 配置: servlet.xml里面标签下配置,name为虚拟主机名字,appBase制定虚拟主机所在位置。
  • —–| Web应用: web资源不能直接交给虚拟机需要组织成一个web应用交由虚拟机管理。
  • —–|Tomcat:
    JAVA_HOME变量:

    在windows中设置java_home环境变量。只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了

    改变端口为80:
    netstat -ano命令,查看占用端口的进程pid,再用任务管理器关闭

    这里写图片描述

       <div align=center >![这里写图片描述](https://img-blog.csdn.net/20180513180356210?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2poXzU5MzU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    

    双击 bin 目录下的 startup.bat 文件
    输入 http://localhost:8080/,显示如下界面代表安装成功

    这里写图片描述
    打war包(直接压缩,改后缀为.war)

    Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。

    2. C/S 和 B/S 程序的区别


    —–| 什么是C/S结构?

    这里写图片描述
    –程序就是在PC机上需要安装或者绿色版的程序。 QQ、WOW、LOL、CF。
    在C/S结构中,服务器通常采用高性能的PC或工作站,并采用大型数据库系统(如 Oracle或SQL Server);客户端则需要安装专门的客户端软件。

    —–| 什么是B/S结构?

    这里写图片描述
    –程序就在浏览器上运行的程序(网站)。Sina,baidu,yahoo

    这里写图片描述

    —–| C/S与B/S结构的区别?
    (1)开发成本和维护成本
    C/S结构必须为不同客户端开发不同程序,而且软件的安装、调试和升级均需在客户端完成,所以开发维护成本都比B/S高。而B/S在软件升级后系统维护人员只需要将服务器的软件升级到最新版本,所有客户端只要重新登录系统即可使用最新版的软件。
    (2)客户端负载
    C/S不仅负责与用户交互、收集用户信息,还需要通过网络向服务器发送请求以处理数据库、电子表格和文档等,客户端负荷较重。B/S结构的客户端把事务处理逻辑部分交给服务器处理,客户端只需要显示,这样将使服务器的运行数据负荷较重,一旦发生服务器崩溃等问题,后果不堪设想。
    (3)安全性问题
    C/S适用于专人性的系统,安全性较好;B/S由于使用的人较多,且不固定,相对安全性较低。

    3. HTTP知识

    —–什么是http协议?
    客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。
    HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。
    —–http版本的区别?
    在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。
    HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。
    HTTP2.0协议:多路复用允许单一的 HTTP/2 连接同时发起多重的请求-响应消息。
    —–http请求具体内容包括?
    一个状态行、若干响应头(消息头)、以及实体内容 。

  • 一个请求行:
  • GET /books/java.html HTTP/1.1

    请求行用于描述客户端的请求方式(get)、请求的资源名称,以及使用的HTTP协议版本号。
    请求方式总共有7(GET POST PUT HEAD DELETE OPTION)中,但是常用的只有GET/POST,两种区别主要体现在数据传输上:





    请求方式特点
    GET可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,传输数据不能超过1k;get重点在从服务器上获取资源;get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等
    POST请求参数写在内容实体中,传输的数据量没有限制。除了表单form形式中说明用POST,否则都是GET;post重点在向服务器发送数据;post较get安全性较高

  • 若干请求头:
  • Accept: text/html,image/*   :可以接受html格式的文本,任意格式的图片 
    Accept-Charset: ISO-8859-1 :说明使用的字符集
    Accept-Encoding: gzip,compress :说明可以接受哪种形式的压缩包
    Accept-Language: en-us,zh-cn :语言
    Host: www.it315.org:80
    If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT:通常和last modified一起使用
    Referer: http://www.it315.org/index.jsp
    User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
    Cookie:
    Connection: close/Keep-Alive   
    Date: Tue, 11 Jul 2000 18:23:51 GMT:请求的发出的时间
    <li><b>一个空行:</b> 
    <li><b> 实体内容:</b>

    —–http响应具体内容包括?

  • 一个状态行:
    状态行用于描述服务器对请求的处理结果。
    格式:
  • HTTP版本号 状态码 原因叙述<CRLF>

    例子:

    HTTP/1.1 200 OK
    状态码含义
    100~199表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
    200~299 表示成功接收请求并已完成整个处理过程,常用200
    300~399为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302、307和304
    400~499 客户端的请求有错误,常用404
    500~599 服务器端出现错误,常用 500

  • 一个空行:
  • 实体内容:
  • —–HTTP的缺点与HTTPS?
    a、通信使用明文不加密,内容可能被窃听
    b、不验证通信方身份,可能遭到伪装
    c、无法验证报文完整性,可能被篡改
    HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护

    4. Web网站的基本构建流程


    构建一个网站的基本流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值