一、传统的Servlet容器:
Jetty:can be standalone or embedded instantiation.
Java1.7开始才有AIO的概念。
ASYNCHRONOUS HTTP SERVER
ASYNCHRONOUS CLIENT
Tomcat:
标准实现:
Servlet
JSP
Expression Language:
WebSocket:浏览器和服务器之间保持一个长连接。
二、Apache Tomcat
核心组件:Components
(1)Engine:
(2)Host:
(3)Context:
静态资源处理:org.apache.catalina.servlets.DefaultServlet
tomcat web.xml中的配置信息:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
welcome file list:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>demo1.html</welcome-file>
</welcome-file-list>
JSP处理:
org.apache.jasper.servlet.JspServlet
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
类加载:Classloading
双亲委派模型:
Bootstrap ClassLoader
System ClassLoader
Common ClassLoader
Webapp ClassLoader
连接器:Connectiors
JDBC数据源:DataSource
JNDI:Java Naming and Directory Interface
三、
四、
五、
六、
网友评论