一、context.xml的由来
Context.xml的最初的名称是context.dtd。context.xml有两个角色:服务器和客户端。服务器端的context.xml格式为context.dtd,其内容有关servlet的定义、连接池的参数设置等,而客户端的context.xml文件则帮助客户端解析出网络服务器上可以访问到的Web应用。
1. context.xml的前任——web.xml
context.xml的前身叫做web.xml,是Servlet指定的统一标准配置文件,包括servlet定义、连接池设置等内容,被常被用做web程序部署时的部署描述文件,以及定义Servlet容器如何映射Web应用程序,定义Servlet容器如何执行Web应用程序。
2. web.xml的缺陷
web.xml的维护是个非常繁琐的过程,每当有一点改变时,就需要重新编辑web.xml文件,而且常常需要在多个文件中来回复制粘贴,相当繁琐。
3. 由此发展出context.xml
针对web.xml的缺点,从Tomcat 6开始,Servlet就把上面提到的所有配置抽取出来,形成一个context.xml文件,如此一来,当管理员修改配置时只需修改这个文件就可以了。context.xml也是一种简化的配置文件,该文件位于META-INF目录下,里面的配置元素要比web.xml的要少很多。
4. context.xml的特点
context.xml是一个有缩进的XML文件,该文件用于存储和管理应用相关的数据。context.xml的重要之处在于它被认为是一个数据访问接口,它允许管理员可以从一个文件中随时更改应用之前提到的配置信息;开发者可以使用context.xml里面配置的信息引入和生成相关的资源;另外,context.xml也可以用来将特殊的数据隐藏在服务器中,当外部程序调用它时,比如文件路径,servlet参数设置等都从context.xml中获取。
5. context.xml的应用
context.xml的一个重要应用是可以用它来配置环境变量,它允许程序引入某些隐藏变量,而这些变量是无法通过XML文件中的注释解释的。另外context.xml也可以用来配置session超时时间,可以将容器的超时时间变更为更小的值,以便更好地控制用户的会话信息,改进应用安全性。
总结:context.xml由 Servlet 6开始引入,用来简化较麻烦的web.xml文件,它让管理员可以从一个文件中随时更改应用之前提到的配置信息;开发者可以使用context.xml里面配置的信息引入和生成相关的资源;另外,context.xml也可以用来将特殊的数据隐藏在服务器中,当外部程序调用它时,比如文件路径,servlet参数设置等都从context.xml中获取,方便管理和保护相关数据。
1、什么是Context XML?
Context XML是一种在Tomcat或其他Web服务器中定义WEB应用配置的XML文件。它定义了Servlet上下文中Servlet、过滤器、监听器、资源变量定义等信息,使项目更具可维护性和可配置性。
2、Context XML的结构
Context XML是一种XML文件,它主要包含三项内容:第一是Context节点;第二是Context Resource;最后是Web节点。Context节点中定义了Tomcat容器的主要属性,例如加载的类、角色检查等;Context Resource节点用于定义DataSource和文件系统等资源;最后是Web节点,它对Web应用进行定义----定义Forctypes文件类型、安全约束、Servlet和FILTER、监听器以及会话超时等。
3、Context XML的主要作用
1)Context XML能够轻松地管理和配置Web应用,节省时间和精力;
2)它可以很容易地将Web应用发布到不同的Tomcat容器环境下;
3)它可以方便地移植Web应用到不同的环境。
4、Context XML的注意事项
1)Context XML的表示格式为XML,因此需要在编写和编辑时完全遵守语法格式;
2)Context XML的使用需要正确设置Classpath,这可以避免引用错误的Jar包;
3)Context XML也可以定义监听器,开发人员需要避免过多的过滤器和Servlet映射,以免造成性能问题;
4)另外,Context XML中也可以定义各种环境变量,在使用时应该注意避免使用敏感的环境变量信息。