web.xml 参数
<!-- 这个属性可以根据404,500等等http错误代码,tomcat会自动跳转到某个界面 --> <!-- <error-page> <error-code>404</error-code> <location>/index.jsp</location> </error-page> <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/index.jsp</location> </error-page> --> <!-- 是所有的路径拦截就是返回这个界面,而不是原来写的json数据 RESPONSE 只是 一个index.jsp界面 不是json数据 <servlet> <servlet-name>dispatcher</servlet-name> <jsp-file>/index.jsp</jsp-file> <load-on-startup>1</load-on-startup> </servlet>--> <!-- http://localhost:9080 默认进入到inde 界面 --> <!--<welcome-file-list>--> <!--<welcome-file>inde.jsp</welcome-file>--> <!--</welcome-file-list>--> <!-- 设定从拓展名到MIME类型的映射关系 注意 :</mime-type> 里面有很多的选择 --> <!--<mime-mapping>--> <!--<extension>foo</extension>--> <!--<mime-type>application/alto-costmap+json</mime-type>--> <!--</mime-mapping>--> <!--闲置的购物车在电子商务网站上会消耗掉很多内存资源,浪费RAM资源 当用户访问已创建回话范围的网页时,Tomcat会记录开始时间, 如果用户不在访问网页,Tomcat会丢弃该回话并回收内存空间 ,Tomcat孕育你控制在丢弃回话之前,他可闲置的时间长短 如果设置值太低,会引起用户的反感,如果设置值太高,会浪费内存空间 --> <!--<session-config>--> <!--<session-timeout>30</session-timeout> <!– 30分钟–>--> <!--</session-config>--> <!-- Listener 实现Web应用程序的Java开发者可能会使用listener类。 这些类是当发生整个Web应用程序或应用程序中特定的HTTP回话时,系统会以某种事件(如创建或删除)通知的程序 -->
server.xml 参数
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server port="9005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
/> <!-- URIEncoding 默认是ISO8859-1 -->
<!-- address="192.168.4.2"--> <!-- 默认 0.0.0.0 表示连接器将监听所有网络设备的连接 -->
<!-- acceptCount="0" --> <!-- 默认10,设置服务器端口允许在等待队列中的请求们的数量 -->
<!--
Connector:
port 监听请求的端口号
maxHttpHeaderSize 所接受Http请求或响应标题的最大长度 默认8KB
maxPostSize POST请求参数的最大值 默认2Mb
maxSavePostSize POST请求参数的最大值,在认证过程中将由容器保存
maxThreads Connector并发运行的请求处理线程 默认200
redirectPort 如果Connector针对的是普通的HTTP(非 SSL(安全套接字层(运输层))),并为匹配的安全约束要求的SSL传输接受了一个请求,则tomcat将给指定的端口号执行重定向
secure 默认false true说明使用SSL连接器,request.isSecure()返回true
sslProtocol 如果是Https,可以指定SSL或者TLS
useBodyEncodingForURI 默认false 当使用不同于url编码的编码方式,true决定将请求主体使用字符编码方式
-->
<!--我新增加的 -->
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
<!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443
This connector uses the NIO implementation that requires the JSSE
style configuration. When using the APR/native implementation, the
OpenSSL style configuration is required as described in the APR/native
documentation -->
<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!---
Engine: Connector 接受请求,然后他交给Engine处理,并将结果返回Connector的软件
Host元素代表一个主机(或虚拟主机)计算机,其请求在给定的Engine中进行处理
name host名 在 Engine 中的Host必须唯一
appBase 这一host的web应用程序目录的路径
autoDeploy true表示tomcat运行时,在appBase目录中追加web应用程序的解包目录或WAR文件,则tomcat将立即实现对其部署。(部署的意思就是 tomcat里面有程序的文件?)
-->
</Host>
</Engine>
</Service>
</Server>