04_web基础(三)之进一步理解web
08.BS和CS与Tomcat详细介绍
1.cs与bs架构的简介及区别
CS和BS是软件架构模式:
C/S: Client/Server :客户端/服务端架构:
B/S: Browser/Server:浏览器/服务器架构:
C/S:
VB,Delphi,C#,Java awt/swing:比如桌面QQ,办公软件等运行在电脑桌面的程序(需要安装的程序).
特点:
在服务端主要就是一个数据库,把所有业务逻辑以及界面的渲染操作交给客户端完成.
优点:较安全,用户界面很丰富,用户体验不错等.
缺点:每次升级都需要重新安装,针对于不同的操作系统开发,可移植性很差.
B/S:
JSP,ASP,PHP:基于浏览器访问的应用,把业务逻辑交给服务端完成,客户端仅仅只做界面渲染和数据交换.
特点: BS是特殊的CS,此时浏览器充当了客户端.基于HTTP协议的.
优点:只开发服务端,可以跨平台,移植性很强等.
缺点:安全性较低,用户体验较差等;
现在的应用综合了BS和CS的优点:部分应用不再是单纯BS.
富客户端技术: 客户端会处理部分的业务逻辑,也会做界面的渲染和数据交互.界面丰富好比是CS.
EasyUI,Flex,Extjs,Java FX等
瘦客户端技术: 基于传统的html界面,客户端只界面的渲染和数据交互.(传统的BS)
2.服务器
服务器:
软件服务器:就是一个软件.
硬件服务器:安装了软件服务器的主机.
分类:
1.http服务器,专门处理静态页面的.
2.javaweb服务器,Tomcat等. 仅仅实现了JavaEE13种规范中的几个规范.(Servlet容器)
不能运行EJB.
3.应用服务器: 实现了JavaEE13种规范.WebSphere(IBM),WebLogic(Oracle),JBoss(red hat),TomEE.
Tomcat是使用Java语言编写的一个服务器(程序),要运行Tomcat,必须得有jre.
安装启动:
0.检查操作系统位数(64 32)
32位: 使用x86 的 Tomcat
64位: 使用x64 的 Tomcat
1.安装目录不能是中文的,并且安装路径不允许出现空格.
如:D:\Development\apache-tomcat-7.0.42:我们把该路径称之为Tomcat的根路径
2.启动Tomcat服务器:Tomcat根/bin/startup.bat
但是提示:必须先配置JAVA_HOME或者JRE_HOME的环境变量:
一般的我们只配置JAVA_HOME:配置为JDK的根路径
JAVA_HOME=D:\Development\jdk1.7.0_06
配置好之后,再点击Tomcat根/bin/startup.bat:如果控制台没有打印重大的错误,doc窗口,没有一闪而过,就表示启动成功.
Tomcat的默认端口是8080:
访问:
打开浏览器:
http://服务器所在主机的IP:服务器的端口号/资源名字
http://服务器所在主机的名字:服务器的端口号/资源名字
若服务在本机:
http://本机的IP:服务器的端口号/资源名字
http://127.0.0.1:服务器的端口号/资源名字
http://localhost:服务器的端口号/资源名字
Tomcat根下的目录:
bin:存放了启动/关闭Tomcat的等工具.
conf:存放了Tomcat软件的一些配置文件.
lib:存放了Tomcat软件启动运行的依赖jar文件.
logs:存放Tomcat日志记录(成功,失败)
temp:临时目录,比如把上传的大文件存放于临时目录
webapps:里面存放需要部署的javaweb项目.
work:工作目录,存放了jsp翻译成Servlet的java文件以及字节码文件.
3.Tomcat服务器的安装
Tomcat是使用Java语言编写的一个服务器(程序),要运行Tomcat,必须得有jre.
安装启动:
0.检查操作系统位数(64 32)
32位: 使用x86 的 Tomcat
64位: 使用x64 的 Tomcat
1.安装目录不能是中文的,并且安装路径不允许出现空格.
如:D:\Development\apache-tomcat-7.0.42:我们把该路径称之为Tomcat的根路径
2.启动Tomcat服务器:Tomcat根/bin/startup.bat
但是提示:必须先配置JAVA_HOME或者JRE_HOME的环境变量:
一般的我们只配置JAVA_HOME:配置为JDK的根路径
JAVA_HOME=D:\Development\jdk1.7.0_06
配置好之后,再点击Tomcat根/bin/startup.bat:如果控制台没有打印重大的错误,doc窗口,没有一闪而过,就表示启动成功.
Tomcat的默认端口是8080:
访问:
打开浏览器:
http://服务器所在主机的IP:服务器的端口号/资源名字
http://服务器所在主机的名字:服务器的端口号/资源名字
若服务在本机:
http://本机的IP:服务器的端口号/资源名字
http://127.0.0.1:服务器的端口号/资源名字
http://localhost:服务器的端口号/资源名字
Tomcat根下的目录:
bin:存放了启动/关闭Tomcat的等工具.
conf:存放了Tomcat软件的一些配置文件.
lib:存放了Tomcat软件启动运行的依赖jar文件.
logs:存放Tomcat日志记录(成功,失败)
temp:临时目录,比如把上传的大文件存放于临时目录
webapps:里面存放需要部署的javaweb项目.
work:工作目录,存放了jsp翻译成Servlet的java文件以及字节码文件.
09.Tomcat常见问题
Tomcat常见问题: 有问题咨询QQ:851298348,也是微信
若JDK是32位的大哥,请使用32位的Tomcat;
若JDK是64位的大哥,请使用64位的Tomcat;
1.还没启动Tomcat或者Tomcat启动失败,就去访问地址:
2.Tomcat启动成功,但是出现404的页面.
就是我们自己把资源的路径写错了,自己检查,如访问了一个不存在的页面.
3.Tomcat还未关闭,又再次重新启动Tomcat.
出现:java.net.BindException: Address already in use: JVM_Bind异常
该程序的端口以及被其他程序所占用:
注意:出错之后,要习惯去查看日志信息:
Tomcat根/logs/catalina.2017-03-26.log
4.Tomcat下的配置文件的结构不能乱改:
如:org.xml.sax.SAXParseException; systemId: file:/D:/Develop/Tomcat7/apache-tomcat-7.0.42/conf/server.xml; lineNumber: 140; columnNumber: 7; 元素类型 "Host" 必须由匹配的结束标记 "</Host>" 终止。
5.要保证XML内容编码和文件编码相同,若有中文,建议使用UTF-8,否则不能使用中文:
如:WARNING: Catalina.start using conf/server.xml:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

10.修改Tomcat默认端口号

11.tomcat管理简单认识



12.http协议介绍
HTTP: 特点:无状态,默认端口就是80 https:
WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议之上的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。
HTTP协议到底约束了什么:
1.约束了浏览器以何种格式向服务端发生数据:
2.约束了服务器应该以何种格式来接受客户端发生的数据:
3.约束了服务器应该以何种格式来反馈数据给浏览器;
4.约束了浏览器应该以何种格式来接收服务器反馈的数据.
浏览器给服务器发送数据:一次请求
服务器给浏览器反馈数据:一次响应
HTTP协议的版本
HTTP/1.0、HTTP/1.1、HTTP-NG 
13.14.15web项目创建部署启动







04_web基础(三)之进一步理解web的更多相关文章
- 04_web基础(二)之web构建
03.04.05.06web项目创建 07.第一个Servlet程序 1.拷贝tomcat 中的 servlet-api.jar 在lib包下面 2.新建一个HelloWordServlet类并实现 ...
- 深入理解 Web 协议 (三):HTTP 2
本篇将详细介绍 HTTP 2 协议的方方面面,知识点如下: HTTP 2 连接的建立 HTTP 2 中帧和流的关系 HTTP 2 中流量节省的奥秘:HPACK 算法 HTTP 2 协议中 Server ...
- .NET基础拾遗(7)Web Service的开发与应用基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- 深入理解 web 协议(一)- http 包体传输
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/WlT8070LlrnSODFRDwZsUQ作者:吴越 开坑这个系列的原因,主要是在大前端学习的 ...
- day 53-1 Django基础三之视图函数
Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Dja ...
- day 67 Django基础三之视图函数
Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Dja ...
- 深入理解Web标准(网站标准)
深入理解Web标准(网站标准) 我觉得一名Web前端应该好好理解Web标准到底是什么,为什么要在我们的实际实践中遵循Web标准. 什么是Web标准.百度百科的解释是: WEB标准不是某一个标准,而 ...
- 零基础如何系统学习Java Web
零基础如何系统学习Java Web? 我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...
- Bootstrap<基础三> 排版
Bootstrap 使用 Helvetica Neue. Helvetica. Arial 和 sans-serif 作为其默认的字体栈. 使用 Bootstrap 的排版特性,您可以创建标题.段落. ...
随机推荐
- java.lang.ClassNotFoundException: org.thymeleaf.spring5.view.ThymeleafViewRe。。。。。。。。。。。
直接上代码问题: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.autoc ...
- 在linux环境下mongodb的安装和启动
安装 下载mongodb的版本,两点注意 根据业界规则,偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X 32bit的mongodb最大只能存放2G的数据,64bit就没有限制 到官网,选择合适 ...
- 开源 人脸识别 openface 实用介绍 实例演示 训练自己的模型
1.OpenFace 是 卡耐基梅陇(CMU)大学的一个图像+机器学习项目,整体程序包含:人脸发现,特征提取,特征神经网络训练,人脸识别这四部分. github https://github.co ...
- Dubbo(1)--初识Dubbo
1. 为什么需要 Dubbo 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当 ...
- django之ModelBase类及mezzanine的page link类
class ModelBase(type): """ Metaclass for all models. """ def __new__(c ...
- Oracle服务无法启动,报:Windows无法启动OracleOraDb10g_home1TNSListener服务,错误 1067:进程意外终止。
运行配置和移植工具中的Net Configuration Assistant,进行监听程序配置.删除配置,然后重新配置. 切记 一定是先删除配置,再重新配置,而不是新建配置. 或者 打开Net Man ...
- oracle中查询表是否存在
select count(*) from user_tables where table_name='表名' 或者 select 1 from user_tables where table_name ...
- MongoDB 全部笔记
1. MongoDB: 是NOSQL的一种, 特长是分布式用的,用于处理爬虫数据 2. mongoDB 与 redis mongoDB是最像关系型的非关系型数据,更加适用于大数据,redis则更倾向于 ...
- beego注解路由 [自定义方法]
背景: beego生成的controller里面,默认get请求到由Get()方法处理:post请求由Post()方法处理 etc. 如果想自定义方法来处理请求,改怎么做? 直接拿beego的文档来说 ...
- 机器学习进阶-项目实战-信用卡数字识别 1.cv2.findContour(找出轮廓) 2.cv2.boudingRect(轮廓外接矩阵位置) 3.cv2.threshold(图片二值化操作) 4.cv2.MORPH_TOPHAT(礼帽运算突出线条) 5.cv2.MORPH_CLOSE(闭运算图片内部膨胀) 6. cv2.resize(改变图像大小) 7.cv2.putText(在图片上放上文本)
7. cv2.putText(img, text, loc, text_font, font_scale, color, linestick) # 参数说明:img表示输入图片,text表示需要填写的 ...