Java笔记-对tomcat进一步认识

tomcat是一个servlet容器。

当编写servlet的时候:

public class MyHttpServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServeltRequest req, HttpServletResponse resp){

	}
}

这里的HttpServeletRequest和HttpServletResponse其实是接口。tomcat将这两个实例化后,就传给Servlet。

逻辑是这样的:

tomcat处理请求,将请求传递给SpringMvc中的DispatchServlet,然后才会发给我们自己写的程序(应该说我们写的部分,因为web程序要放到tomcat中,tomcat会调用到我们写的程序)。我们自己写的程序可能是(Spring Boot、Spring、Mybatis)。

 

如下伪代码:

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ....
{
	RequestFacade requestFacade = (RequestFacade)req;
    ......
    ......
}
这里的RequestFacade是门面模式,门面模式和代理模式的区别是,门面模式是一对多的,代理模式是一对一的。
在tomcat中是需要使用war包,这个w值web,jar包中j指java。tomcat并不能很好区分这个jar包是工具还是其他的什么东西,为了让tomcat知道这个是个web应用,才有的war包。
 

一个war包一般含有这些东西

WEB-INF

里面有个classes这里面是包含我们敲的项目的类名

lib就是各种各样的库

 

从源码中可以知道,tomcat部署应用的时候,是采用多线程进行部署的,他源码里面使用了线程池。

你可能感兴趣的:(Web相关技术,我的Java地带,Java,java,tomcat,servlet)