下面是我整理下来的Servlet知识点:
图上的知识点都可以在我其他的文章内找到相应内容。
Tomcat常见面试题
Tomcat的缺省端口是多少,怎么修改
Tomcat的缺省端口是多少,怎么修改
- 找到Tomcat目录下的conf文件夹
- 进入conf文件夹里面找到server.xml文件
- 打开server.xml文件
- 在server.xml文件里面找到下列信息
<Servicename="Catalina">
<Connectorport="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
- 把port=”8080″改成port=”8888″,并且保存
- 启动Tomcat,并且在IE浏览器里面的地址栏输入http://127.0.0.1:8888/
到tomcat主目录下的conf/server.xml文件中修改,把8080端口改成是8088或者是其他的
Tomcat 有哪几种Connector 运行模式(优化)?
tomcat 有哪几种Connector 运行模式(优化)?
- bio(blocking I/O)
- nio(non-blocking I/O)
- apr(Apache Portable Runtime/Apache可移植运行库)
相关解释:
- bio: 传统的Java I/O操作,同步且阻塞IO。
- nio: JDK1.4开始支持,同步阻塞或同步非阻塞IO
- aio(nio.2): JDK7开始支持,异步非阻塞IO
- apr: Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地 提高Tomcat对静态文件的处理性能
下面是配置Tomcat运行模式改成是NIO模式,并配置连接池相关参数来进行优化:
<!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- protocol 启用 nio模式,(tomcat8默认使用的是nio)(apr模式利用系统级异步io) --> <!-- minProcessors最小空闲连接线程数--> <!-- maxProcessors最大连接线程数--> <!-- acceptCount允许的最大连接数,应大于等于maxProcessors--> <!-- enableLookups 如果为true,requst.getRemoteHost会执行DNS查找,反向解析ip对应域名或主机名--> <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443 maxThreads=“500” minSpareThreads=“100” maxSpareThreads=“200” acceptCount="200" enableLookups="false" />
apr模式启动起来是比较复杂的,详情可参考:http://blog.csdn.net/wanglei_storage/article/details/50225779
对于bio,nio,nio.2的理解可参考:http://blog.csdn.net/itismelzp/article/details/50886009
Tomcat有几种部署方式
- 直接把Web项目放在webapps下,Tomcat会自动将其部署
- 在server.xml文件上配置
<Context>
节点,设置相关的属性即可 - 通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。编写XML的方式来进行设置。
部署方式第二点:
- 在其他盘符下创建一个web站点目录,并创建WEB-INF目录和一个html文件。
- 找到Tomcat目录下/conf/server.xml文件
- 在server.xml中的
节点下添加如下代码。path表示的是访问时输入的web项目名,docBase表示的是站点目录的绝对路径
<Context path="/web1" docBase="D:\web1"/>
访问配置好的web站点