用Myeclipse开发的Web应用怎么直接部署到tomcat中

用Myeclipse开发的Web应用怎么直接部署到tomcat中,第1张

导出war包放到tomcat里面的wappas下面,然后直接启动tomcat访问就行,或者是新建server然后找到你的tomcat目录配置就可以。然后在左边的servers里面会有你已经部署好的虚拟服务器了(也就是tomcat),随便点一个进去里面的serverxml里面加入(虚拟目录),启动tomcat就能访问了。

在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。

一、静态部署

静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。以下3中方式都可以部署:

1、将PetWeb目录拷贝到$CATALINA_HOME\webapps下,然后启动服务器就可以了。这种方式比较简单,访问地址如下:http://localhost:8080/PetWeb/

2、这种方式可以不必将PetWeb目录拷贝到webapps下,直接在F:\部署。方法如下,更改$CATALINA_HOME\conf\serverxml文件,在<host>标签内添加<Context>标签,内容如下:

<Context docBase="F:/PetWeb" reloadable="false" path="/Pet"/>

其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。docBase为路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。访问地址如下:http://localhost:8080/Pet/ 。

3、这种方式和第二种方式差不多,但是不是在Serverxml文件中添加Context标签,而是在$CATALINA_HOME\conf\Catalina\localhost中添加一个xml文件,如Petxml,内容如下:

<Context

docBase="F:/PetWeb" reloadable="false"

/>大家可能发现和第二种方式差不多,但是缺少了path属性,这种方式服务器会使用xml的名字作为path属性的值。访问地址如

下:http://localhost:8080/Pet/ 。

我们刚才是将PetWeb文件夹部署在了服务器中,我们知道可以将Web应用程序的内容打成war包,然后在部署在服务器上。

部署Petwar文件非常简单,将刚才有docBase="F:\PetWeb"更改为docBase="F:\Petwar"或者直接将其拷贝到

webapps下也可以。重新启动服务器就可以将Petwar部署为一个Web应用程序了。如果你够细心的话你会发现,服务器将Petwar文件解开,并且在webapps下面又生成了一个Pet文件夹,然后把Petwar的内容拷贝到里面去了。我们可以通过以下方式取消自动解包,配置方式如下:

<Context

docBase="F:/PetWeb" reloadable="false" unpackWAR="false"/> 。

1 安装Apache Http Server、Tomcat、Tomcat Connector(JK Module)

Apache Httpd:从网上下载Apache Http Server 2215的安装版(貌似没有免安装压缩版)。安装时可以选择将其安装为系统服务或者每次手动启动。我只是测试,所以选择了后者,但后者默认将会监听8080端口,注意不要与Tomcat默认的8080端口冲突了。这一项可以稍后在配置文件中修改。

Tomcat:可以选择免安装压缩版(我用的是6018版),很方便,可以注册为系统服务。

JK Module:从http //tomcat apache org/download-connectors cgi找到binary下载,下载目前最新版1230文件mod_jk-1230-httpd-223so,将其改名为mod_jkso,置于Apache Http Server安装目录下的modules目录中。

2 新建workersproperties文件

这个workerproperties可以置于任何目录下,我把它直接放在了Apache Http Server的安装目录下。

# 为mod_jk模块指明Tomcat的安装路径

workerstomcat_home=D:/DevSoft/apache-tomcat-6018

# 为mod_jk模块指明JDK的安装路径

workersjava_home=C:/Program Files/Java/jdk160_20

# 添加一个worker到worker列表

workerlist=worker1

# 为worker1设定各个参数

# 工作端口,Tomcat的默认Connector监听端口,可以查看Tomcat的Serverxml中有port="8009"

workerworker1port=8009

# Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP

workerworker1host=localhost

# worker的类型,允许的值为ajp13、ajp14、lb、status等;ajp13是mod_jk连接WebServer和Tomcat的首选方式(即使用socket作为通信渠道)

workerworker1type=ajp13

# 负载平衡因子

workerworker1lbfactor=1

注:workerlist中worker的名字应该是对应到Apache Http Server的httpdconf配置文件中的JkMount的(后面详述)。

3 修改Apache Http Server的httpdconf配置文件

修改Apache Http Server安装目录下的conf目录下的httpdconf文件:

# 载入mod_jk模块,注意模块文件的路径

LoadModule jk_module modules/mod_jkso

# 声明workersproperties文件的位置

JkWorkersFile "C:/Program Files/Apache Software Foundation/Apache22/workersproperties"

# 声明mod_jk的日志文件位置

JkLogFile "C:/Program Files/Apache Software Foundation/Apache22/logs/mod_jklog"

# 声明mod_jk的日志级别(可选)

JkLogLevel info

# 声明mod_jk的日志的时间戳格式(可选)

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# 将/action和/jsp类型的请求都分配给Tomcat,其余类型的有Apache Http Server自己处理

# 注意JkMount后面的worker1即对应workerproperties文件中workerlist里的worker的名称

JkMount /action worker1

JkMount /jsp worker1

4 修改DirectoryRoot

网上的文章大多只写到上面就结束了,动态的内容交给Tomcat之一步算是完成了,但静态内容的分配还需接着设置httpdconf文件。

查找到DocumentRoot "C:/Program Files/Apache Software Foundation/Apache22/htdocs"这一行,并将其值替换为Web应用的路径:

DocumentRoot "D:/DevSoft/apache-tomcat-6018/webapps"

查找到<Directory "C:/Program Files/Apache Software Foundation/Apache22/htdocs">这一行,并将其值替换为Web应用的路径:

<Directory "D:/DevSoft/apache-tomcat-6018/webapps">

至此,动态内容和静态内容的请求分配,才基本完成。

第一步:需要先创建一个server,可以通过windows中的show view,之后找到server,

第二步:在server窗口中右击,选择”new-server“,之后创建好tomcat server。

第三步:双击创建的server,进入server设置界面,设置Server Location,选择编译路径是”Use Tomcat“即可切换到Tomcat的路径,保存。

第四步:在创建的server上右击,选择add,之后将要运行的项目添加进来,选择Finsh。

第五步:右击server,之后选择”start“运行即可。

第六步:打开浏览器,输入”http://localhost:8080/项目root“运行即可。

一、静态部署

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管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。

在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。

XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcxxml文件,内容如下: <Context reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。

如果部署war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择war文件,然后点击Deploy也可以。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 用Myeclipse开发的Web应用怎么直接部署到tomcat中

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情