(架构,tomcat,servlet)2020.11.20
目录
软件架构
C/S架构
概述:常见的软件架构中、分为CS架构和BS架构
CS:客户端与服务器
例如:qq、英雄联盟、DNF、穿越火线、卫生院、派出所的管理系统
B/S架构
BS:浏览器与服务器
例如:淘宝、京东、网页游戏(七雄争霸)
C/S与B/S对比
CS架构
优点:
1、个性化定制比较丰富
2、客户端承载了一部分的数据交互、只有核心的数据才会到达服务器。在一定程度上减轻了服务器压力
3、客户端和服务器进行双层校验安全系统高
缺点:
1、安装复杂、且需要在有网的环境下进行
2、卸载不干净、容易造成系统垃圾、时间久了影响电脑运行性能
3、升级和维护需要关闭服务器造成不好的用户体验
BS架构
优点:
1、只有在有网的情况下可以随时随地的获取预览服务器中的资源
2、服务器与服务器之间容易集成、数据共享性好
3、升级和维护非常方便、可以做到无缝连接
缺点
1、个人化定制比较差
2、在涉及到安全性方面设计成本非常高
3、在涉及到跨浏览器访问上可能会出现浏览器兼容性问题
Tomcat服务器
web服务器简介
概述:web服务器也称为www服务器、指的是驻留在因特网的软件服务器、而不是硬件服务器。我们可以获取(下载)服务器中资源,同样我们也可以将自己的资源上传到服务器供其他用户下载
常见的web服务器:weblogic、IIS、tomcat
weblogic:是隶属于oracle公司的应用服务器、主要是用于继承和部署、管理应用程序。它是大型的分布式的web服务器 收费
IIS服务器组件、这个组件中主要包括 web服务器、下载服务器、邮件服务器、新闻服务器… 主要是给ASP.NET进行使用
Web服务器的工作原理:连接、请求、应答、关闭
连接:服务器与连接建立通讯
请求:浏览器向服务器发送了若干个http类型的请求
应答:服务器收到浏览器发出的请求、获取请求中携带的数据、对请求进行处理、处理完之后将服务器处理结果以响应报文的形式返回浏览器
关闭:服务器与浏览器交互完后
Tomcat服务器介绍
概述:tomcat是由apache与sun公司牵头以及一些个人共同开发免费开源的小型web服务器、正是由于sun公司的加入使得最新的jsp、servlet的规范总能在tomcat中得以实现。同时tomcat也是一款轻量级的web服务器在一些中小型用户并发不是很高的项目中广泛使用、是目前市面上最流行的web服务器之一。
Tomcat使用步骤
下载tomcat https://tomcat.apache.org/
2、如图所示
目录介绍:
Tomcat与Eclipse集成
如图所示
1、建议将tomcat放在不带中文的路径下 d:根路径
2、打开eclipse 选择到javaEE视图 右上角
3、把servlet在控制台下展示出来 在show View 下点击 Servers
Servlet入门
Servlet简介
概述:servlet指的是运行在服务端的java小程序、它可以实现前台页面与后台的数据交互从而生成动态web资源。我们也可以说servlet是一个实现了servlet接口的java类。
Servlet快速入门
表单接受数据为案例
第一步在webContent目录中创建文件夹html在文件夹中创建html文件 文件内容如下
2、写一个java类实现Servlet接口
3、给servlet注册到web容器中并配置访问地址
执行流程
1、页面发出http请求 /day10/m1 到达tomcat服务器
2、服务器根据/day10在webapss找到你要访问的项目,通过/m1找到你要访问具体servlet
3、拿着/m1去/day10中的web.xml中找到一个url-pattern配置的路径是m1的servlet
4、通过dom4j(xml解析技术)找到这个servlet具体的名称、再找到web容器中已注册的servlet对应的名称、再找到 servlet具体地址 com.offcn.servlet.MyServlet_01
5、通过反射技术创建MyServlet_01对象的实例并调用对象中service进行请求处理再处理之前tomcat会自动的创建2个对象一个是request用于封装请求信息、一个是response用于服务器向浏览器返回处理结果 这2个对象会在调用service之前传递给这个方法的参数
Servlet体系结构与Tomcat的关系
实现servlet三种方式
方式一
方式二
源码打开
方式三
tomcat与Servlet之间的关系
request、response都是在servlet-api.jar中
Get与Post请求
doGet、doPost方法与Service方法的关系
doGet:servlet中处理页面发出的get请求
doPost:servlet中处理页面发出的post请求
Service:servlet中处理任意类型请求的方法
Get与Post请求的区别
安全性
get提交会将表单参数暴露在地址栏不安全
post提交会将参数携带在请求体中安全
数据量大小
get提交数据大小有限制2kb(不同的浏览器携带的参数数据不同)
post提交数据大小没有限制
传输的效率上
get速度快、post速度慢
浏览器缓冲上
get提交会将提交后的数据放在浏览器缓冲中、post提交不会
Servlet生命周期
概述:用来描述servlet从创建到销毁这么一系列的过程就称为生命周期
servlet在整个生命周期中分为三个阶段
初始化阶段:init()方法的调用标志着servlet在内存创建、这个方法只会执行一次
提供服务阶段:service() 方法的调用标志着servlet正在处理http请求
销毁阶段:destory() 方法的调用标志着servlet被销毁了 只会执行一次