1、首先让需要自动运行的类继承javaxservlet>
2、把需要自动运行的类中写一个init方法。(servlet应用程序启动的入口就是init方法)
public void init(){Systemoutprintln("这样在web容器启动的时候,就会执行这句话了!");
}
3、在webxml中新建一个servlet,如下:
<servlet><servlet-name>GenerateData</servlet-name>
<servlet-class>comyqjavaSCADAbusinessimplGenerateData</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
4、启动的web服务器,tomcat,weblogic,jboss,就会自动运行类中的init方法了。
学Java的人经常遇到的一个问题是:如果一个程序依赖某个文件夹下的一堆jar包,那么启动它的时候就需要在java -cp参数后面一个一个的加上jar包的名称,很不方便。
比如主程序类叫Main,在目录lib下有aaajar,bbbjar,cccjar,则需要输入以下命令才能执行:java -cp lib/aaajar;lib/bbbjar;/libcccjar Main
(linux系统下用冒号,windows下用分号)。
如果jar包少,倒也不是很麻烦,但如果依赖的jar包数量很多的话,一个个的输就比较麻烦了,当然我们也可以借助一些脚本或者Ant来实现自动化,但总觉得杀鸡焉用牛刀,反而把事情弄麻烦了。
我自己是这样解决的:java-Djavaextdirs
=/lib -cp /bin Main (假设主程序类Mianclass放在bin目录下)
正如你说看到的,-Djavaextdirs起到了关键作用,它将告诉JVM从那里加载一些类,为了方便理解记忆,顺便补充一点ClassLoader的常识:
Java的类装载模型是一种代理(delegation)模型。当JVM 要求类装载器CL(ClassLoader)装载一个类时,CL首先将这个类装载请求转发给他的父装载器。只有当父装载器没有装载并无法装载这个类时, CL才获得装载这个类的机会。这样, 所有类装载器的代理关系构成了一种树状的关系。树的根是类的根装载器(bootstrap ClassLoader) , 在JVM 中它以null表示。除根装载器以外的类装载器有且仅有一个父装载器。在创建一个装载器时, 如果没有显式地给出父装载器, 那么JVM将默认系统装载器为其父装载器。
根(Bootstrap) 装载器:该装载器没有父装载器,它是JVM实现的一部分,从sunbootclasspath装载运行时库的核心代码。
把自己编写的java程序变成jar可执行文件的步骤如下: 1最简单直接的方法,选择想打包的程序,右键export 2选择Runnable Jar file。(即可执行的Jar包) 3选择程序的主类,就是还有Main函数的类。点Finish即可。
1源程序文件的构成
要编写Java程序,首先应该知道Java程序文件中必须包括什么内容,Java程序的源程序文件结构如下:
package语句,0~1句,必须放在文件开始,作用是把当前文件放入所指向的包中。import语句,0~多句,必须放在所有类定义之前,用来引入标准类或已有类。public classDefinition,0~1句,文件名必须与类的类名完全相同。classDefinition,0~多句,类定义的个数不受限制。
interfaceDefinition,0~多句,接口定义的个数不受限制。Java程序的源代码文件要求包含三个要素:
1)以package开始的包声明语句,此句为可选。若有,且只能有一个package语句且只能是源程序文件的第一个语句,若没有,此文件将放到默认的当前目录下。
2)以import开始的类引入声明语句,数量可以是任意个。
3)classDefinition和interfaceDefinition分别代表类和接口的定义。由public开始的类定义只能有一个,且要求源程序文件名必须和public类名相同,Java语言对字符的大小写敏感,因此文件名相同意味着字母大小写也完全相同。如果源程序文件中有主方法main(),它应放在public类中。 这三个要素在程序中必须严格按上述顺序出现。
2类的构成
Java程序都是由类(class)所组成的,类的概念的产生是为了让程序语言能更清楚地表达出现实事物的本性。在Java中,类就是用于创建对象的模板,包含了特定对象集合的所有特性。Java类由两种不同的信息构成:属性和行为。
属性由一系列区别对象的数据组成,可用于确定属于类的对象的外观、状态和其他性质。在Java程序中,属性往往以类的成员变量形式出现。
行为指类对象对本身和其他对象所可以完成的事情,可以用于修改对象的属性,接收来自其他对象的信息和向其他要求执行任务的对象发送信息。在Java中,行为往往以一段小程序的形式出现,Java称这种小程序为“方法”(method)。统称为类的成员方法。
Java中类定义的语法形式为:
修饰符 class <类名> [extend<父类名>]{ type类变量1;type类变量2;
成员变量 修饰符 type<类方法名1>(参数列表){ type局
部变量; 方法体
}修饰符 type<类方法名2>(参数列表){ type局部变量; 方法体
} 成员方法}
其中class是Java的关键字,表明其后定义的是一个类。class前面的修饰符用来限定所定义的类的使用方式。类名是用户为该类起的名字,应该是一个合法的标识符。紧接着类定义语句的大括号之间的内容称为类主体。type指的是变量或方法的数据类型。类主体由成员变量和成员方法两部分组成。
以上所有提到或未提到的概念,在后面的章节中将详细为大家介绍。
3注释语句的添加
在开发Java程序的过程中,经常需要在适当的地方加上注释语句,以便其他人阅读
程序,一般来说,Java语言的源文件中,任何地方都可以加注释语句,一个好的程序应该在
其需要的地方适当地加上一些注释,以便于其他人阅读并理解程序。
注释语句有三种格式:
1)//注释内容 用于注释一行语句。
2)/ˇ注释内容ˇ/ 用于注释一行或多行语句。
3)/ˇˇ注释内容ˇˇ/ 用于注释一行或多行语句且注释语句中的内容可以通过使用Javadoc生成API文档,实现文档与程序同步实现的功能。
首先:java只能有main方法才能运行就是错误的。
如果是java桌面应用层程序,可以通过main方法,线程start来启动应用程序
如果是web项目,就不需要有main方法,代码直接发布到web容器,启动容器后就可以运行了。
以上就是关于Java中如何让web服务器启动的时候自动运行web程序中某个类的某个全部的内容,包括:Java中如何让web服务器启动的时候自动运行web程序中某个类的某个、如何方便的指定Java程序运行所需要的所有jar包、如何让Java程序只运行一个实例等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)