在TOMCAT上手工生成及部署WAR包

以前是用ECLIPSE或是其它IDE自动生成,不明了。

这次手写JAVA,先生成CALSS来部署,

之后用WAR包来部署。(查了资料,好像直接用JAR来部署TOMCAT的WEB项目,不得行)

就上次生成的First目录下,生成WAR包。命令:

jar cvf First.war *.*/ .

然后,这个生成的war包放到webapps目录下,就会自动解压及生成相应的目录文件了。

顺一下tomcat下work目录的作用:

最近发现,很多网友喜欢把tomcat的work目录里的东西叫做缓存,其实那不是很恰当,work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录,这也正是为什么它叫work目录而不是cache目录的原因。   jsp,tomcat的工作原理是当浏览器访问某个jsp页面时,tomcat会在work目录里把这个jsp页面转换成.java文件,比如将index.jsp转换为index_jsp.java文件,而后编译为index_jsp.class文件,最后tomcat容器通过ClassLoader类把这个index_jsp.class类装载入内存,进行响应客户端的工作。
  tomcat会定时稍描容器内的jsp文件,读取每个文件的属性,当发现某个jsp文件发生改变时(文件的最后修改时间与上次稍描时不相同时),tomcat会重新转换、编译这个jsp文件。但是tomcat的稍描是定时的不是实时的,这也正是为什么jsp文件修改后需要几分钟的时间来等修改过的jsp生效。当然为了即刻生效,很多老前辈都会建议在修改jsp页面后立即清除work目录里的文件。
  另外,tomcat容器中,对转换后的java文件(比如:index_jsp.java)的编译最大只支持64k,所以在其他容器中的jsp移植到tomcat容器中时会遇到大jsp文件会发生无法编译的情况,所以建议把jsp中的业务逻辑写入单独的类,在jsp中通过调用这个类的静态方法来执行,并将jsp页面中的js提取出来放到单独的js文件内。

时间: 2024-09-14 21:06:03

在TOMCAT上手工生成及部署WAR包的相关文章

紧急-在websphere上部署war包,启动应用时,初始化datasource 提示出错

问题描述 紧急-在websphere上部署war包,启动应用时,初始化datasource 提示出错 Caused by: java.lang.NullPointerException at org.aspectj.weaver.reflect.Java15AnnotationFinder.getAnnotations(Java15AnnotationFinder.java:109) at org.aspectj.weaver.reflect.ReflectionBasedResolvedMem

win linux 下 部署war包到Tomcat根目录

在WIN系统下: 在TOMCAT中部署war  1.将war文件拷贝到tomcat目录\webapps\ 下.  2.将必要的jar文件拷贝到tomcat目录\lib\ 下.  3.修改tomcat目录\conf\下的server.xml.  <!-- Tomcat Manager Context --> <Context path="/manager" docBase="manager" debug="0"privileged

java-tomcat7卡在了部署war包

问题描述 tomcat7卡在了部署war包 情况是这样: 项目,正常,eclipse能跑.打包成war再次运行war包也很正常. 但是到了公司的测试机后,管理员将war放到了tomcat7的webapps目录下,并startup之后卡在了部署这一个地方,但是没报错哦~求帮助. PS:该tomcat能跑其他项目 解决方案 原因不明,后来手动解压war包改完配置再运行.据说是因为测试系统和开发系统彻底隔离了... 解决方案二: tomcat7部署war包出错Tomcat 或 Jboss 部署WAR包

weblogic10部署war包的详细步骤及注意点

问题描述 weblogic10部署war包的详细步骤及注意点 初次部署weblogic,请高手指点.请帮忙说明下详细步骤.

部署war包如何做到web URL与war包名无关

问题描述 服务器用的是glassfish.因为版本控制的需求每次新生成war包的文件名是要加上版本号的,比如test_1234,然后部署到服务器后,访问web程序的URL就是http://host/test_1234/login.jsp才能访问我想直接登录http://host/test/login.jsp就可以访问,该如何设置? 解决方案 解决方案二:war包名称和访问的工程名没有关系,在eclipse中设置context-root就可以了问解决方案三:如果希望http://host/logi

tomcat能够访问放在非tomcat webapps文件夹下的war包吗?

问题描述 目前在linux环境下安装了tomcat,将war包放在webapps下能够正常访问,但是项目上希望把war放在其它的地方,比如/usr/local/etc/下面,然后我通过设置server.xml文件,把Context中的path设置成war包名,docBase设置成/usr/local/etc/war包名,然后试着发布但是不成功,想问下以上应该如何实现哪?谢谢. 解决方案 解决方案二:我想应该是可以的,你再仔细看看试试.解决方案三:path是http://xxxx:8080/pat

geronimo部署war包之后,站点的默认根目录的疑问

问题描述 写了一个简单的web应用,功能之一是上传一些文档到服务器上,然后在页面显示它们的链接,点一下可以下载.服务器用的是geronimo.由于我的这个应用是用war包的方式发布的,我认为应该就是war包的根目录就是web应用的默认根目录.结果不是这样,我在服务器端的jsp文件里用java语言建立了几个目录(只写相对路径),结果我竟然是在%GERONIMO_HOME%bin里面建立了这几个目录,这说明web应用的默认路径是在war包之外.那如果我希望将上传的文件链接到页面上,就很困难了,我不可

ckeditor+ckfinder,在weblogic上部署war包后,浏览服务器出错

问题描述 从服务器读取XML数据出错服务器返回原始结果:Error500--InternalServerErrorjava.lang.Exception:Configurationwasn'tinitializedcorrectly.Checkserverlogs.atcom.ckfinder.connector.ConnectorServlet.getResponse(ConnectorServlet.java:126)atcom.ckfinder.connector.ConnectorSer

java-关于在Tomcat中同时部署两个war包

问题描述 关于在Tomcat中同时部署两个war包 当把两个war包分别部署在Tomcat下时,都很正常,主页也都可以访问到,但是如果同时部署这两个war的话,虽然启动过程中Tomcat不会报错,但会出现只能访问一个项目的主页的情况,访问另一个项目的主页时页面会出现404错误,而tomcat后台则报错如下: 这到底是为什么呀??? 解决方案 tomcat下部署war包Tomcat 部署war包war包部署到tomcat 解决方案二: 你这两个包是同样的工程么?若是同样的工程,不会运行起来.若是不