Tomcat 如何设置系统配置参数及加载
2015-08-06 09:59
513 查看
Tomcat是一款服务器软件,其含有Servlet的容器,而servlet的目的就是为了对HTTP请求进行应答。
Tomcat在启动时,可以通过设置,使其自动加载某些servlet,这样,就可以通过自加载的Servlet加载系统的配置参数,并在编程中使用,下边就讲解如何设置:
首先在web.xml配置文件中,新建一个Sevlet标签,并将系统配置参数设置为该Servlet的初始化参数
通过设定LoadConfig的init-param标签,我们可以设定该Servlet的一系列初始化参数及值:WebServerURL、MacAddress、Pin、ScanPath等,这些参数都是系统配置中需要设定的。
其中,load-on-startup标签的设置,值为0,1,2,3...等,值越小,Tomcat启动时加载的优先级越高;如果不设置,或者为负数,只有在请求时,该Servlet才被加载。
在web.xml中配置好系统参数后,如何获取到呢?通过LoadConfig类的init(ServletConfig config)方法,获取配置参数,并利用ServletContext类将这些参数设置为Tomcat中共享的属性,代码如下:
这样,只要启动Tomcat,这些系统配置,就可以在任何其他servlet类中获取,也是利用ServletContext类,代码如下:
Tomcat在启动时,可以通过设置,使其自动加载某些servlet,这样,就可以通过自加载的Servlet加载系统的配置参数,并在编程中使用,下边就讲解如何设置:
首先在web.xml配置文件中,新建一个Sevlet标签,并将系统配置参数设置为该Servlet的初始化参数
<servlet> <servlet-name>LoadConfig</servlet-name> <servlet-class>com.founder.loadconfig.LoadConfig</servlet-class> <init-param> <param-name>WebServerURL</param-name> <param-value>http://172.19.43.132:8010</param-value> </init-param> <init-param> <param-name>EWBURL</param-name> <param-value>No_Watting_Set</param-value> </init-param> <init-param> <param-name>MacAddress</param-name> <param-value>ZGRS5-1</param-value> </init-param> <init-param> <param-name>Pin</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>ScanPath</param-name> <param-value>C:/ScanPath...</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>LoadConfig</servlet-name> <url-pattern>/LoadConfig</url-pattern> </servlet-mapping>
通过设定LoadConfig的init-param标签,我们可以设定该Servlet的一系列初始化参数及值:WebServerURL、MacAddress、Pin、ScanPath等,这些参数都是系统配置中需要设定的。
其中,load-on-startup标签的设置,值为0,1,2,3...等,值越小,Tomcat启动时加载的优先级越高;如果不设置,或者为负数,只有在请求时,该Servlet才被加载。
<load-on-startup>0</load-on-startup>
在web.xml中配置好系统参数后,如何获取到呢?通过LoadConfig类的init(ServletConfig config)方法,获取配置参数,并利用ServletContext类将这些参数设置为Tomcat中共享的属性,代码如下:
public class LoadConfig extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoadConfig() { super(); } @Override public void init(ServletConfig config) throws ServletException { super.init(config); //获取初始化数据 String WebServerURL = config.getInitParameter("WebServerURL"); String EWBURL = config.getInitParameter("EWBURL"); String MacAddress = config.getInitParameter("MacAddress"); String Pin=config.getInitParameter("Pin"); String ScanPath=config.getInitParameter("ScanPath"); //设置应用共享配置变量 ServletContext context = getServletContext(); context.setAttribute("WebServerURL", WebServerURL); context.setAttribute("EWBURL", EWBURL); context.setAttribute("MacAddress", MacAddress); context.setAttribute("Pin", Pin); context.setAttribute("ScanPath", ScanPath); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //do nothing } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
这样,只要启动Tomcat,这些系统配置,就可以在任何其他servlet类中获取,也是利用ServletContext类,代码如下:
//从配置中,获取主网站地址 , Mac地址 ServletContext context= getServletContext(); String webURL = (String) context.getAttribute("WebServerURL"); String macAddress = (String) context.getAttribute("MacAddress");
相关文章推荐
- java.lang.OutOfMemoryError:Java heap space解决方法(项目中直接运行main方法,做案例,没有启动tomcat的情况)
- Eclipse异常关闭 Tomcat无法重启
- Tomcat安装及配置教程
- 普通用户从非80端口启动tomcat,通过端口转发监听80端口
- Tomcat服务器
- eclipse配置tomcat,以及部署项目到tomcat(解决项目部署后,webapps中无项目文件问题)
- Tomcat server.xml UTF-8配置
- 一步一步搭建apache+tomcat 负载均衡集群
- tomcat启动一闪而过问题的解决
- tomcat进程意外退出的问题分析
- tomcat配置虚拟目录映射
- tomcat Host及Context 配置
- 有关nginx Tornado tomcat apache<抄次网上>
- Tomcat日志设置
- Eclipse集成Tomcat
- tomcat配置jdbc数据源几个要点
- tomcat配置文件
- tomcat使用经验
- tomcat启动项目内存不足时的设置
- Tomcat服务器无法启动socket监听端口