1 web的发展历程

C/S和B/S都是软件架构的两种不同的表现形式:

C/S架构:Client/Server:客户端和服务端的架构.该软件运行在电脑桌面:比如,QQ,FeiQ,POS机/火车站买票.开发语言:Delphi,VB,VC++,C#,JAVA awt ,swing等.特点:一般的,服务端仅仅是安装一个数据库和数据存储,所有程序的代码(功能/界面)都编写在客户端软件中,(把所有业务逻辑都写在客户端,界面渲染也在客户端).优点:直观,用户体验好,安全性高等.缺点:每次升级,需要重新安装,移植性较低,开发和维护成本较高.
B/S架构:Browser/Server:浏览器和服务端的架构(通过浏览器访问的应用).该软件是通过浏览器访问.比如门户网站,管理系统等.其实B/S是特殊的C/S,因为浏览器是一个特殊的客户端.开发语言:JSP,PHP,ASP等.特点:在服务端编写代码,所有的业务逻辑都有服务端完成.客户端只负责界面的渲染.优点:可移植性很高,开发和维护较好.缺点:用户体验不够好,界面不够丰富,安全性很低.
    瘦客户端:传统的B/S:服务端:负责业务逻辑.客户端:负责界面渲染.富客户端:超级BS=CS+BS;界面华丽.服务端:负责业务逻辑.客户端:负责界面渲染+少量的业务逻辑.开发技术:Ext.js,Flash,EasyUI,JavaFX等.

2 服务器

服务器分类:

软件服务器:其实就是一个软件,提供了B/S应用运行环境。硬件服务器:其实就是一台电脑,该电脑安装了软件服务器。JavaWeb的软件服务器的分类:1):http服务器,用于运行静态的页面.2):Web服务器,实现了JavaEE的部分功能(比如Servlet/JSP),没有实现javaEE中的EJB规范.Tomcat,Jetty等.3):应用服务器,实现了JavaEE全部的规范,支持EJB的TomcatEE,GlassFish,JBoss,Weblogic(12306),WebSphereServlet容器为JavaEeb应用提供运行环境,它负责管理Servlet和JSP的生命周期,以及管理他们的共享数据.Servlet容器也称为JavaWeb容器,或者Servlet/JSP容器--->Tomcat

Tomcat服务器(7.0.64)的安装使用:

(bin目录):Tomcat的工具,启动,关闭等.(conf目录):装了 Tomcat的配置文件.(lib目录):Tomcat的核心包和依赖的jar包.logs目录:装了日志文件.temp目录:临时目录,上传文件的临时文件.webapps目录:默认情况下的部署项目的路径.work目录:工作目录,装JSP翻译成java文件的代码1.安装目录不能使用中文的,并且安装路径不允许出现空格,2.启动Tomcat服务器:Tomcat根/bin/startup.bat直到控制台没有打印重大的错误,Exception,没有一闪而过,就表示启动成功.Tomcat的默认端口是8080;访问:打开浏览器:http://服务器所在的主机的IP:服务器的端口号,/资源名字http://服务器所在主机的名字:服务器的端口号/资源名字若服务器在本机:http://本机的IP:服务器的端口号/资源名字http://127.0.0.1:服务器的端口号/资源名字http://localhost:服务器的端口号/资源名字

Tomcat的常见错误:

1):没有成功启动Tomcat,就开始访问.-->无法显示此网页2):出现404的错误提示,HTTP Status 404当前访问的资源地址不存在的时候,就报404错误.此时的问题是,是我们自己造成的,把资源的名字写错了.3):Tomcat成功启动之后,再去启动当前的Tomcat.Tomcat的端口已经被占用,端口冲突.4):不能乱改动Tomcat中配置文件的结构.查看日志文件的,找到错误的的位置,错误原因-->再修改.5):在XML配置文件中使用中文,此时XML文件必须使用UTF-8的编码.XML文件:文件内容的编码和文件本身的编码要相同,都为UTF-8.

Tomcat的常见配置

Tomcat的默认端口是8080;但是,HTTP协议的默认端口是80,而我们在访问的时候,是遵循http协议的,如果是80端口:http://localhost:80/index.jsphttp://localhost/index.jsp修改Tomcat根/conf/server.xml文件中,默认第71行.每次配置完之后都要重新启动Tomcat

Tomcat的安装有两种版本:

1):减压版,减压之后,配置java_home可用.2):安装版,在电脑上安装一个服务器.本身没有差别,但是设置在开机的时候,自动启动Tomcat.把Tomcat作为服务器安装在Windows的服务器列表中:使用Tomcat/bin/service.bat:安装服务:service install卸载服务:service remove安全配置:账号跟密码.<role rolename="manager-gui"/><role rolename="admin-gui"/><user roles="manager-gui,admin-gui" password="123456" username="admin"/>JavaWeb项目结构:appDemo(web应用根目录)  根目录下的文件外界可以直接访问--html,jsp,css,javascript文件等.
--WEB-INF目录 该目录下的文件外界无法直接访问,由web服务器负责调用.
-classes目录-(java类编译之后的class文件)
                        -lib目录-(java类运行所依赖的jar包)
                        -web.xml文件-(web应用的配置文件)
搭建项目的时候记得改变项目的输出目录:也就是改变classpath的路径,从默认的bin目录改变为webapp/WEB-INF/class中:以后把项目给别人,只给webapp目录.

添加Tomcat插件

1).把插件jar包拷贝到D:\Eclipes\Eclipes4jee\eclipse\dropins2).记得在eclipse中的preferences中设置Tomcat的添加路径为D:\JAVA\Tomcat\apache-tomcat-7.0.573).重新启动Tomcat服务器.

部署web项目:

方法1:直接把项目的web跟路径,拷贝到Tomcat跟/webapps目录中.该方式可行,而且是MyEclipse工具的部署方式.缺点:1:不支持热部署,(代码变动之后,需要重新部署,重新部署的成本很大).2:把所有的项目都部署在该路径,启动越来越慢,若其中一个项目有问题,Tomcat是启动不了.方法2:告诉Tomcat服务器,从指定的路径去部署项目.1):找到Tomcat根/conf/server.xml文件.2):在<Host>元素之间,编写<Context>元素,具体代码如下:<Context docBase="D:\Java EE\Cookie-Session\webapp" path=""/>3):访问当前项目的路径:http://ip:port/contextPath/资源名称注意:多个<Context>元素的path不能相同.

虚拟主机配置:

需求:有两个公司的web应用都发布在同一个Tomcat服务器上,可以为每家公司创建一个虚拟主机.www.daidu.com            www.google.com修改Windows系统中的C:/Windows/system32/driver/etc/hosts.配置二级域名,会使用到.

3 HTTP协议

特点:无状态,默认端口是80 https:WEB浏览器与web服务器之间的一问一答的交互过程必须遵循一定的规则,就是HTTP协议.HTTP是hypertext transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议上的一个应用层协议,用于定义WEB浏览器与web服务器之间交换数据的过程以及数据本身的格式.

HTTP协议到底约束了什么:

    1.约束了浏览器以何种格式向服务端发生数据:2.约束了服务器应该以何种格式来接受客户端发生的数据:3.约束了服务器应以何种格式来反馈数据给浏览器;4.约束了浏览器应以何种格式来接收服务器反馈的数据.

HTTP1.0规范 跟 HTTP1.1规范

HTTP1.0规范:若请求N个资源,得建立N次连接,发送N次请求,接收N次响应,关闭N次连接,每次请求之间都要建立单独的连接,请求,响应,响应完关闭该次连接:缺点:每请求一个资源都要单独的建立新的连接,请求完并关闭连接.解决方案:能在一次连接之间,多次请求,多次响应,响应完成之后再关闭连接.HTTP1.1规范:能在一次连接之间,多次请求,多次响应,响应完之后再关闭连接.特点:  在一个TCP连接上可以传送多个HTTP请求和响应,多个请求和响应过程可以重叠进行,增加了更多的请求头和响应头浏览器给服务器发送数据:一次请求服务器给浏览器反馈数据:一次响应HTTP协议的版本:HTTP/1.0,HTTP1.1,HTTPS2.0

HTTP请求概述

请求信息:包含三大部分:请求行,请求头,请求实体.请求行:位于请求信息的第一行,格式:请求方式get/post 资源路径 HTTP版本号get请求方式:a,若请求服务器上的某个资源,没有指定请求方式,则默认为GET方式b,可以通过GET方式向服务器传递数据,具体方式就是在URL请求路径加上?多个参数分割post请求方式:a,若使用post请求方式传递数据,可以借助form表单的method="post"b,数据安全,且长度没有限制请求头:<1>,Accept:浏览器可接受的MIME类型(内容类型)(Tomcat安装目录/conf/web,xml中查找)<2>,Accept-Charset:告知服务器,客户端支持哪种字符集<3>,Accept-Encoding:浏览器能够进行解码的数据编码方式<4>,Accept-Language:浏览器支持的语言.<5>,Referer:当前页面有哪个页面访问过来的.<6>,Content-Type:通知服务器请求正文的MIME类型.<7>,Content-Length:请求正文的长度<8>,If-Modified-Since:通知服务器,缓存的文件的最后修改时间.<9>User-Agent:通知服务器浏览器类型.<10>,Connection:表示是否需要持久连接.如果服务器看到这里的值为"keep-Alive",或者看到的请求使用的是HTTP 1.1(HTTP1.1默认进行持久连接)请求实体:从第一个空行开始,后面的都是正文.(可以没有),只有POST请求才有请求实体

响应信息:

包含三大部分:响应行:位于响应信息的第一行.格式:HTTP版本号 状态码:200(OK) 404(资源名写错了) 500(服务端后台的java代码写错了)响应头:Server:告诉客户端服务器使用的容器类型Content-Type:当前响应的MIME格式:text/html--->网页文本Transfer-Encoding:是否要加密Date:响应的时间,什么时候响应的.响应实体

GET和POST的区别(面试容易考到):

Get方式请求:1):请求的数据全部在浏览器地址栏(很不安全).2):观察请求信息:请求信息会全部存储到请求行中.Post方式请求:1):请求的数据不会出现在浏览器的地址栏(比较安全)2):观察请求信息:请求信息会全部存储到请求实体中参数连接:资源?参数名=参数值&参数名=参数值&....资源后第一个参数使用?连接,其他使用&连接.GET和POST请求的区别:1):GET的请求数据在地址栏,而POST不会,POST比GET跟安全.2):POST请求的参数存放在请求实体中,而get存放于请求行中.3):GET方式请求的数据不能超过2k,而POST没有上限.比如文件上传时,必须使用POST方式.4):GET可以缓存,而POST没有缓存查询的时候使用GET其他时候使用POST.表单全部使用post提交,哪些时候是GET呢?1:直接在浏览器地址栏敲回车.2:表单中,method=get.3:超链接.只有表单中使用method=post,才是POST方式.

WEB的发展历程、Tomcat服务器、与HTTP协议相关推荐

  1. 【日常学习】XML文件约束,Tomcat服务器和HTTP协议

    文章目录 XML文件约束,Tomcat服务器和HTTP协议 1. XML文件约束[了解] 1.1 约束方式 1.2 DTD约束 1.3 Schema 2. Tomcat服务器 2.1 JavaWEB服 ...

  2. Eclipse利用Maven的插件部署web项目到远程tomcat服务器

    使用maven的自动部署功能可以很方便的将maven工程自动打包并且部署到远程tomcat服务器,省去一些繁琐的操作,节省大量时间. 我使用的tomcat版本是8.5,tomcat7和tomcat8都 ...

  3. 2020新版IDEA创建Web工程(包括添加Tomcat服务器、第三方jar包)

    1. 添加Tomcat服务器 2020新版IDEA(专业版,学生邮箱可免费试用)在[File]菜单项下点击[Settings]选项. 在新窗口展开[Build, Execution, Deployme ...

  4. 【华为云技术分享】一文带你了解Web前端发展历程

    摘要:自互联网行业发展以来,web前端不断发展变化着.在前人的基础上,后人有幸能够站在前人的肩膀上行走.前端的发展变化不仅是继承式的迭代,同时也是不断的变革和创造. 一.前端到底是个什么? 简单点说, ...

  5. 一文带你了解Web前端发展历程

    摘要:自互联网行业发展以来,web前端不断发展变化着.在前人的基础上,后人有幸能够站在前人的肩膀上行走.前端的发展变化不仅是继承式的迭代,同时也是不断的变革和创造. 一.前端到底是个什么? 简单点说, ...

  6. Idea创建web项目,配置tomcat服务器

    使用idea创建web项目 新下载的idea,需要启用插件,才可创建web项目 启用Java ee,servlet有web项目选项 创建项目 选好jdk,要配置好jdk环境变量https://blog ...

  7. java web项目部署到tomcat服务器(一般步骤和自己所犯错误的总结)————高手忽略

    最近由于项目需求,需要将java web项目部署到本地tomcat上(版本为8.0)进行测试.作为一个非计算机专业的菜鸟,之前的工作都是写后台逻辑代码,没接触过web项目部署.部署的时候不知道如何下手 ...

  8. 十年WEB技术发展历程

    Ajax 03年的时候我上六年级.那时候网吧刚在小县城的角落萌生.传奇,大话西游第一代网游一时风靡.我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,冊,账.号. ...

  9. Tomcat服务器部署+Web项目搭建

    Tomcat服务器部署+Web项目搭建 1.Tomcat服务器 1 . Tomcat下载     2 . Tomcat启动与关闭     3 . 配置端口号2.IDEA搭建Web项目 1 . web项 ...

最新文章

  1. 第六十七篇、OC_UITableView head下拉图片放大的效果
  2. python画一片树叶_python画一片绿叶给你
  3. qml dockwidget窗口停靠
  4. GitHub for Windows使用教程(一)安装配置
  5. echarts formatter鼠标悬停显示信息
  6. 使用 VS 附加到进程 调试发布的网站
  7. 一道水的不能再水的题目
  8. 数据积分-牛顿科茨法与高斯勒让德法对比及示例
  9. java线程的状态有几种_Java线程的几种可用状态
  10. 微信jssdk在iframe页面失效问题的解决措施
  11. 朴素贝叶斯与垃圾邮件分类
  12. [Android] View动画特效(四)
  13. kb2919355无法安装
  14. C盘爆满,你的专属清道夫来啦
  15. 如何用计算机进行文件夹整理,如何对电脑文件进行分类整理,试试下面这四个步骤...
  16. C# 按行读取txt记事本文件
  17. FPGA基础之VGA(三)移动方块
  18. Intellij-IDEA(2017)破解
  19. 佛山市南海技师学校计算机类,2019年佛山南海信息技术学校招生录取分数线
  20. 【推荐】超全最新医学信息化资源合集

热门文章

  1. RabbitMQ 如何保证消息的可靠性
  2. 在带有OR条件的LEFT JOIN中使用索引(Using index in LEFT JOIN with OR condition)
  3. Spring 的configuration-metadata-annotation-processor 文档
  4. Redis哈希表总结
  5. Python基础 - MySQLdb模块
  6. [图解教程]Eclipse不可不知的用法之一:自动生成Getter、Setter和构造方法
  7. getHibernateTemplate()(Spring中常用的hql查询方法)
  8. 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题...
  9. X++中对字符串进行操作的函数
  10. Oracle Golden Gate 系列十二 -- GG 数据初始化装载二 基于SCN 的初始化 说明 与 示例...