《汤姆cat与Java Web开发技术详解》思维导图

越想创设上层建筑,就越觉得底层基础很首要。补课连串。

书是良心书,就是太基础了,正顺应补课。

图片 1

【纯文字版】

Tomcat与Java Web
开发技术详解

Servlet

Servlet的生命周期

初始化

1Servlet器皿加载Servlet类

2Servlet器皿创造ServletConfig,开头化配置信息

3Servlet容器创立Servlet对象

4Servlet容器调用Servlet对象的init(ServletConfig)

时机:第二遍被呼吁或陈设了<load-on-startup>

运行时

接过请求封装ServletRequest和ServletResponse

调用service()

经过ServletResponse生成响应结果

销毁

调用destroy()

销毁Servlet对象

销毁对应的ServletConfig

行使的左右文SerletContext

3个webapp对应3个SerletContext

监听接口ServletContextListener

contextInitialized(ServletContextEvent)

contextDestroyed(ServletContextEvent)

HttpSession的生命周期

创建

浏览器首回访问该采用

浏览器上次的对话已销毁,但再也访问该利用

浏览器访问时不带上次会话的ID

销毁

服务器调用invalidate()

会话过期

服务器十分小概直接领会浏览器已截止

setMaxInactiveInterval(int)

功能范围

request.getSession()

要是能取到会话对象,就能共享会话的数目

对话的监听接口

配置中web.xml

HttpSessionListener监听创立与销毁

HttpSessionAttributeListener监听属性别变化化

用作品质对象存入会话

HttpSessionBindingListener监听属性的绑定景况

HttpSessionActivationListener监听会话激活与搁置

过滤器

按web.xml中的顺序串联调用

chain.doFilter()递归调用

调用关系为filter1->filter2->…->servlet

而后的回到是filter1<-filter2<-…<-servlet

req和resp包装为ServletRequestWrapper和ServletResponseWrapper

web.xml

加载顺序

ServletContext(context-parm)->Listener->Filter->Servlet

其他(略)

Tomcat

三种工作方式

standalone

JVM->Tomcat->Servlet容器

其他服务器进度内容器(JNI)

汤姆cat分为web插件和Servlet容器两部分

容器组件运行在此外服务器内的JVM

web插件也在该服务器中

web插件通过JNI调用容器组件

任何服务器进度外容器(IPC)

汤姆cat分为web插件和Servlet容器两局地

容器组件运营在独立JVM

服务器不须要援救Servlet

web插件运营在服务器中

web插件通过IPC调用容器组件

server.xml

Server, Service, Engine, Host(略)

Context

className:可钦命实现类

path:应用的URL入口

docBase:应用的文件路径

reloadable:自动监测更新玉石俱焚复加载(但净增运转负荷)

cookies:允许以Cookie来支持Session

useNaming:支持JNDI

Manager会话管理器

默认StandardManager

可投入Memcached的类包实现集中式会话管理

Cluster集群

Engine中进入<Cluster>并配置DeltaManager(或任何完成)

在利用的web.xml中启用<distributable/>

存入会话的属性要落实系列化接口

网络环境协助组播

Connector

监听端口

AJP协议

配置SSL

JK连接器

透过AJP协议访问汤姆cat

作为插件可以融合为一在Apache,IIS等服务器中

Relm安全域

在汤姆cat层面落成鉴权

有计划文件、JDBC、DataSource等不相同的贯彻

Valve阀

有Engine、Host和Context三种功用范围

汤姆cat自带的完毕

客户走访日志阀

远程地址过滤器

长距离主机过滤器

客户请求记录器

SSI(Server Side Include)

常用来网页的拼接,比如header和footer

只提供了一部分简易的下令

以SSIServlet的方式达成

Web应用的
两种调用格局

EJB

JavaEE应用结构

客户层(browser或client)

Web层(JSP和Servlet)

业务层(EJB)

会话Bean-逻辑

有状态

无状态

实体Bean-实体

EIS层(数据库)

接口

Remote接口EJBObject

Home接口EJBHome

Bean类实现SessionBean并对Remote接口做具体达成

技术栈

服务器:JBoss

调用方式:奥德赛MI

SOAP

WebService

SOAP:基于XML语言的数据交流协议

WSDL:基于XML语言的web服务描述语言

通讯协议

HTTP/HTTPS

SMTP/POP3

调用方式

RPC

Message-Oriented

技术栈

Web服务框架:Apache AXIS

服务器:Tomcat

MVC模式

层次

模型:业务逻辑

视图:用户展现

控制器

吸收用户请求

调用模型响应用户请求

选料视图显示响应结果

可取:三个模块相互独立,松耦合

JSP Model 2

Servlet作为控制器

JavaBean作为模型

JSP作为视图

Struts

实现MVC的web框架

控制器

FilterDispatcher+struts.xml把请求转载给对应的一一Action

Action类侧重于决定程序的流水生产线

Velocity

模板语言的效率:将Java代码从Web页面中分离出来

内燃机的运用

Servlet类继承VelocityServlet

覆盖handleRequest方法

把变量存入Context对象

再次回到钦点模板文件

课外补充:远程通讯的二种方法

卡宴PC:远程进度调用

TCP连接

采纳层寻址(比如HTTP的U奔驰G级I地址)

呼吁和响应的连串化和反系列化

ENVISIONMI远程方法调用

仅限于Java语言

强对象

WebService

HTTP连接

SOAP协议

基于XML

restful风格

面向财富的GET/POST/PUT/DELETE操作

(常利用基于JSON的数据交流)

JMS

Java音信服务

JSP与JSTL(略)

相关文章