Tomcat的IO模型
Tomcat的IO模型有三种,BIO,NIO(JDK4),NIO2(或者叫AIO,在JDK7加入),其实还有一个叫APR。
Tomcat如何生成Servlet
其实这个从两个方面去说:
从作用域角度,它可以分为单例和复例。默认是单例的。也就是多个线程会共用一个Servlet,这是会产生线程安全问题。对于里面的一些共享变量,可以用ThreadLocal去做;还有一个就是复例,如果Servlet实现了SingleThreadModel接口的话,那么它就是复例的,一个请求到来的时候如果没有空余的Servlet,它会通过反射创建新的Servlet,当然不是无限的,最大可以创建20个Servlet,如果还不够的话,接下来的请求会阻塞
类型角度:分为原本Servlet类,还有jsp文件。jsp文件最后也会变成servlet嘛,其实它会先对jsp文件进行解析成一棵结点树,然后再变成一个java文件,然后最后编译成为一个servlet。
有几种在Tomcat中部署Web应用的方法?
就是应用放到webapp目录下就可以了
在conf文件里面的server.xml配置文件,在host标签下,添加context标签,然后写上路径等信息,也可以部署
catalina目录下,可以建立一个xml文件来配