XML:指可扩展标记语言,被设计用来传输和存储数据
问题一:Tomcat中四个XML配置文件的作用1)、哪四个XML配置文件呢?
分别是content.xml、server.xml、web.xml、tomcat-users.xml
2)、他们各自具有什么样的作用呢?
①tomcat-users.xml:
关于用户登录、管理员账号密码的配置都在这个文件中。默认情况下用户登录的账号密码是注释掉的,只有去掉注释才可以登录成功,也就是大家熟知的"tomcat管理台弱口令部署war包getshell"
<role rolename="tomcat"/><role rolename="role1"/><user username="tomcat" password="tomcat" roles="tomcat"/><user username="both" password="tomcat" roles="tomcat,role1"/><user username="role1" password="tomcat" roles="role1"/>
②server.xml:
server顾名思义就是对服务器进行配置的地方,包括服务器的端口、虚拟主机、调试模式开启关闭、项目目录路径等。
<Context path="/project" docBase="E:\work\abc\WebRoot" debug="0" reloadable="true" crossContext="true" />
③content.xml:
这其中的配置文件是tomcat的公用环境配置文件,tomcat会定期扫描这个文件,判断是否发生了变化,如果文件发生了变化(也就是被编辑过),会重新加载这文件而不需要重启服务器。如果在server.xml中的配置发生了变化则需要重启服务器。
content.xml的作用范围有三个,分别是server级别、Host级别、web app级别。
server级别的配置是在:$CATALINA_BASE中,会对webapps目录下的所有项目有效
$CATALINA_BASE/conf/context.xml
Host级别的配置是在$CATALINA_BASE的虚拟主机中,会对虚拟主机下的webapps目录有效
$CATALINA_BASE/conf/Catalina/${hostName}
web app级别的配置是在下述路径中添加${webAppName}.xml进行配置
在 $CATALINA_BASE/conf/Catalina/${hostName}
④web.xml:
是web应用程序的配置文件,例如IIS中的默认文档页面的配置就是在这个web.xml中实现的,下面举实例说明:
为servlet命名:
<servlet> <servlet-name>servlet1servlet-name> <servlet-class>org.whatisjava.TestServletservlet-class> servlet>
为servlet指定URL类型:
<servlet-mapping> <servlet-name>servlet1servlet-name> <url-pattern>*.dourl-pattern> servlet-mapping>
指定页面错误页面:
<error-page> <error-code>404error-code> <location>/error404.jsplocation> error-page>
设置一些过滤器,过滤网站的资源等:
<filter> <filter-name>XXXCharaSetFilterfilter-name> <filter-class>net.test.CharSetFilterfilter-class> filter> <filter-mapping> <filter-name>XXXCharaSetFilterfilter-name> <url-pattern>/*url-pattern> filter-mapping>