这是自己第一次写有点干货的笔记,大家看看图个兴趣。
1.
服务器:24小时不间断运行提供服务的机器,强调安全和稳定
工作站:某种功能强大的机器,一般只用于特定领域(图形工作站...)
pc:不说了,你现在用的就是
三层架构:
表示层:与使用者直接交互(如浏览器)
业务逻辑层:处理各式请求
数据持久层:数据库
瘦数据库:未来数据库的趋势就是:DB只存储数据,其余的交给业务逻辑层的软件处理
2
中间件:中间件是业务逻辑层的软件,处理业务数据与客户端之间业务的软件,提供网络服务的服务器端应用软件
应用服务器:想象你正在通过IE浏览器登录网上银行,完成转账操作。在这个场景中
表示 业务逻辑 数据持久
IE 网上银行 银行数据库
当新创一个项目时,很多工作都是共性的,核心特性只占一部分。如网上银行系统的搭建,浏览器,数据库这些是其他项目都有的,我们完全可以
把他们提取出来做成包含他们的产品,其对外只需要提供接口即可
AppServer:包含多个容器的软件服务器。
提到容器,就必须说组件。
组件:其本质就是一个应用程序块,不能单独运行。类比汽车零部件,Java组件就叫做Javabean,以类的形式存在。组件被装在容器中,即容器处理
请求,调用组件完成业务逻辑。故组件实现了某些功能。与客户端交互的为servlet.中间件就是提供容器运行的环境。如.net,java平台
3.
Jboss集成了Tomcat,有EJB容器
servlet 定义了一系列方法供容器调用
jsp编译后形成servlet,其写在HTML中
EJB是由于Javabean功能无法满足企业级需求而产生的。它较为厚重,管理内存中较为活跃的对象
4.
Struct是表示层框架,主要解决jsp中代码混乱,不方便维护的特点,其遵循MVC模式
V: jsp
M: javabean
C : servlet
这种模式通过jsp与客户打交道,V-JSP将请求发给C-SERVLET,而C调用M-javabean处理请求,最终将结果返回给V-jsp.它可以让数据与逻辑分离,增强
代码可读性,所有jsp中,Java代码越少越好
Spring:取代EJB笨重复杂的特性,它的关键在于控制反转和依赖注入
控制反转(IOC Inversion of control)
----提出请求,不必关心执行过程,只要最终结果
依赖注入(DI dependecy injection)
----将结果返回给请求者
eg:皇帝想临幸爱妃,他只需给太监说一声,爱妃就会被送过来,最后又自动走。皇帝全程不做任何与宠幸无关的事
在这里太监干活,爱妃来满足皇帝,实现其功能价值。皇帝完事后,控制权转移给太监,拔吊走人、
而传统场景中宅男找小姐,需要同领班交流,挑选满意的小姐,完事后,再找领班,归还小姐,表示完事。自己亲力亲为,需要做跟交配意外很多无关
的事,严重影响效率。
Hibernate:使Java代码中的SQL语句变少。其是ORM(对象关系映射),区别与关系型数据。是对象存储数据,如类中的属性