W3Schools Learner's Blog

W3Schools Programming knowledge summary website

div

7/06/2019

javaweb项目在tomcat中运行main函数的方法

如果你的javaweb项目是采用ssm框架或者ssh框架的,想要在tomcat启动时运行main函数方法,其实方法非常的简单,下面就就用一个小例子来让你1分钟内学会如何在tomcat中运行main方法。
步骤一:在你的java web项目中假如有一个main函数的类,如下。
package cn.com.baidu.common;
public class TestDemo {
 public static void main(String[] args) {
  System.out.println("这是一个main方法!!!");
  System.out.println("==============================");
  System.out.println("socket启动成功啦!");
 }
}
步骤二:自定义一个RunMain.java的类,用反射来调用main函数,注意,反射必须写在构造函数中。
package cn.com.baidu.common;
import java.lang.reflect.Method;
public class RunMain {
 //构造方法
 public RunMain() throws Exception {
  Class clazz = Class.forName("cn.com.xf.common.TestDemo");
  Object obj =  clazz.newInstance();
     Method mainMethod  =  clazz.getMethod("main", String[].class);
     //public static void main(String[] args)
     mainMethod.invoke(obj,  (Object)new String[]{"a", "b", "c"}); //String[]随便赋值的
     
//  Method[] methods = clazz.getMethods();
//  for (Method method : methods) {
//   if (method.getName().equals("main")) {    
//    method.invoke(obj, (Object)new String[]{"aa","bb"});
//   }
//  }
 }
}
步骤三:在spring-context.xml(有些项目叫applicationContext.xml,知道就好)里面添加bean标签,如下。
<bean class="cn.com.baidu.common.RunMain"></bean>
当我们把web项目部署到tomcat并启动时,就会自动启动main函数了,如果你在main函数写的是socket,建议把socket端口和tomcat的端口设置成不同的。

No comments:

Post a Comment

Note: only a member of this blog may post a comment.