Eclipse 如何将Web项目部署到Tomcat中

Eclipse 如何将Web项目部署到Tomcat中,第1张

打开eclipse后找到右下的 *** 作栏,如图:
2找到Servers这个选项并切换至该选项
若没有该选项,请到eclipse上方菜单Window->Show View中配置
3选中Servers下的Tomcat服务器,点击鼠标右键并选择Add and Remove
4进行工程的添加和移出
1Add和Remove需要选中工程后才能点击
2Add All为添加全部eclipse中的项目到Tomcat
3Remove All为移出所有Tomcat中的工程

首先配置下Myeclipse里Tomcat服务
在Windows-->Preferences-->MyEclipse-->Application Servers 中选择你的tomcat版本,在右侧的面板里指定tomcat的安装路径后,点击Apply或OK保存,退出面板
点击快捷工具栏中的Deploy MyEclipse projects 按钮,选择工程点击Add,选择tomcat服务就完成了就部署成功了
选择工具栏中的Run/Stop/Restart 按钮,可以选择启动或停止服务
基本上就是这么搞的,你可以试下,希望对你有帮助

您好,提问者:
首先你要了解一个带有源码的web应用程序的结构,下面请看结构分析:
web应用程序结构分析:
--src:基本存放java和一些像strutsxml的文件
--web-root:部署web项目就是部署这个文件。
--web-root下web-inf:存有页面(jsp/html)和java生成的class文件。
--------------------------------Tomcat部署结构--------------------------------
1、它不会添加的你的src目录,它会把你web-root这个文件夹给你改成web项目的名字部署到apache-tomcat-6020\webapps\目录下
2、apache-tomcat-6020\work\Catalina\localhost\目录下是你的web项目驱动程序。
3、apache-tomcat-6020\conf\tomcat-usersxml可以配置你的tomcat密码等信息。
4、apache-tomcat-6020\conf\webxml下是一些查用格式等等信息。
5、apache-tomcat-6020\conf\contextxml下就是配置ip和端口的一些信息,驱动web项目也是在这个xml走通的!

首先,放在tomcat安装目录的lib文件夹下肯定没有问题的。这时eclipse引用的jar文件可以在任意路径。其次,可以将jar文件放在webapp\web-inf\lib目录下(及工程目录中的webcontent\web-inf\lib目录),这时eclipse引用的jar文件应在webcontent\web-inf\lib目录下。 但是这两种方式都不是很合理,放在tomcat安装目录的lib文件夹下相当于是全局共享这个包,但这真的有必要么?放在webapp\web-inf\lib目录下,实际是把jar放到了jsp等文本代码的目录中了。明明eclipse工程中组织好的目录是在src\web-inf\lib呀。 其实,完全可以把jar包放在src\WEB-INF\lib目录下,这时开发时没有问题,调试时tomcat会找不到这个包,很简单,在项目属性中Deloyment Assembly配置页,设置src\WEB-INF\lib目录发布到WEB-INF\lib目录就好了,这样调试时会自动复制到tomcat对应的目录(build\classes\WEB-INF\lib)中。将来打包时也会正确处理的。 webcontent目录放置的都是些文本文件,而classes目录及classes目录下的WEB-INF\lib目录是放二进制文件的,这恐怕也是为了保护源代码。 等等,你真的觉得这样就是最好的办法么?那么如果我开发很多个项目,难道每一个都要拷贝一遍,那么我可爱的小硬盘上到底会有多少重复的jar文件呢?终极的解决办法是:在你的电脑上的某个位置,放好你开发任何项目所需要的各种jar文件。然后再eclipse 的window菜单Preferences设置user libraries。具体位置是Preferences窗体的java--build path---user libraries中。然后工程中引用这个你自己声明的user library。记得要在项目属性中Deloyment Assembly配置页中为这个包添加部署设置哦。

将jsp部署到tomcat的方法有三种:
1、直接放到Webapps目录下
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录 下的应用。也可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特 性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse、 NetBeans、ant、JBuilder等。也可以用cmd 命令:jar -cvf applicationnamewar package;
甚至可以在程序执行中打包:
try{
string strjavahome = systemgetproperty("javahome");
strjavahome = strjavahomesubstring(0,strjavahomelastindexof(\\))+"\\bin\\";
runtimegetruntime()exec("cmd /c start "+strjavahome+"jar cvf hellowar c:\\tomcat50\\webapps\\root\\");
}
catch(exception e){systemoutprintln(e);}
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的serverxml文件,找到下面内容:
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false">
2、在serverxml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在serverxml中新建Context里部署一个JSP应用程序。打开serverxml文件,在Host标签内建一个Context,内容如下。
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
其中path是虚拟路径,docBase是JSP应用程序的物理路径,workDir是这个应用的工作目录,存放运行是生成的于这个应用相关的文件。
其中,Host标签中的appBase也需要修改到应用程序的目录,既D:\myapp(原理可参考tomcat参数说明:>一、静态部署
1、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywarwar myweb
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的serverxml文件,找到下面内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase修改即可。
2、在serverxml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在serverxml中新建Context里部署一个JSP应用程序。打开serverxml文件,在Host标签内建一个Context,内容如下。
在tomcat中的conf目录中,在serverxml中的,<host/>节点中添加:
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(helloxml),该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>

tomcat自带例子如下:
<Context docBase="${catalinahome}/server/webapps/host-manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。
4、注意:
删除一个Web应用同时也要删除webapps下相应的文件夹和serverxml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。
二 动态部署
登陆tomcat管理控制台:>

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10459104.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)

    保存