Tomcat 怎么设置系统配置参数及加载
Tomcat 如何设置系统配置参数及加载
这样,只要启动Tomcat,这些系统配置,就可以在任何其他servlet类中获取,也是利用ServletContext类,代码如下:
Tomcat是一款服务器软件,其含有Servlet的容器,而servlet的目的就是为了对HTTP请求进行应答。
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");
版权声明:本文为博主原创文章,未经博主允许不得转载。