随服务器启动加载数据

    在web应用下:

    可以通过servlet来实现。

    新建一个类继承javax.servlet.http.HttpServlet,然后将加载数据的代码放到init方法就可以了。具体代码如下:

public class StaticClass extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private static String title =" StaticClass ";
	
	public void init(ServletConfig config) 
	{ 
		System.out.println("public void init(ServletConfig config) ###############################");
		setdata();
	} 
     
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
	}  	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
	}
	
    public void setdata()
    {
    	try
		{
			Properties props = new Properties();
			props.setProperty("java.naming.factory.initial",
					"org.jnp.interfaces.NamingContextFactory");
			props.setProperty("java.naming.provider.url", "192.168.1.17:1099");
			props.setProperty("java.naming.factory.url.pkgs",
					"org.jboss.naming:org.jnp.interfaces");			
			InitialContext remotectx = new InitialContext(props);
			
			DeptTempMgr deptTempMgr = (DeptTempMgr)remotectx.lookup("Business/DeptTempMgrBean/remote");
			InetAddress inetAddress= deptTempMgr.getLocalIp();
		    String ipName = inetAddress.getHostAddress();
		    String homeName = inetAddress.getHostName();
		   // System.out.println("远程调用的主机内网ip是:"+ipName);
		    System.out.println("远程调用的主机名是:"+homeName);
		}
		catch (Exception e)
		{
			System.out.println(e);
		}
		
    }
    
}

 

   然后在web.xml配置一下:

 

	<servlet>
		<servlet-name>staticclass</servlet-name>
		<servlet-class>
			action.util.StaticClass
		</servlet-class>
		<load-on-startup>1</load-on-startup>   
	</servlet>
	
	<servlet-mapping>
		<servlet-name>staticclass</servlet-name>
		<url-pattern>/servlet/staticclass.jsp</url-pattern>
	</servlet-mapping>

 

  其中load-on-startup的含义是:容器启动时加载这个servlet的顺序,正常的取值范围是:负数,0-5,如果是负数或者没有这个标签,则容器在启动时不自动加载 这个servlet,如果是0-5,则按照顺序加载这个servlet,执行初始化方法init()。数字是0-5,加载顺序也是0-5。

  部署到服务器,启动服务器即可。

你可能感兴趣的:(应用服务器,Web,jsp,servlet,jboss)