Eclipse、Tomcat环境配置及web应用发布的几种方式

来源:互联网 发布:无主之地2无网络连接 编辑:程序博客网 时间:2024/05/16 06:17

下载lomboz,就是带web插件的eclipse,具体在哪里下我就不多说了,中国这个烂网,动不动就给你墙了,所以呢去官网你能打开你就下吧,不能开就百度搜国内的资源好了,下载完解压缩后我的版本是这样的:

然后下载tomcat,我下的是6.0版本的,然后是jdk,最好是安装版的,我用的是1.6的,什么解压缩安装之类的就不说了,jdk建议装c盘去吧。完成之后配置java运行环境,我的电脑-属性-高级-环境变量,管它什么系统,我相信你一定能找到,如果找不到,那算了,你就不用继续了,改行吧。

具体配置如下:

变量名:JAVA_HOME

变量值:C:\Program Files\java\jdk1.6.0_10

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

变量名:Path

变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

至于都是什么意思我就不提了,自己去网上搜吧,中国人发明了火药,然后外国人拿去就造出了鸟枪和鸟炮,所以呢,这个东西就自己去搜吧,不过最好是记住,如果你想继续做一个苦逼的java程序员,那么无论如何你都该记住这些东西,不要说总是忘记,那都是借口,用别人的一句话说就是:你重复的太少!话说你这么多年了,有把自己饿死过么,显然你没有,看来吃饭是谁都不会忘记的。都设置完成之后打开dos窗口,怎么打开懒的说了,输入java –version,回车,正常应该显示如下内容:

如果不是,请检查你的环境变量设置。

没有问题之后,打开你的tomcat,如下图:

这些图贴的我不胜其烦,可是,没图,你说个P

运行startup启动tomcat,正常情况还是如图:

没有报任何错误,启动正常,有报错那你下顿饭就别吃了。打开浏览器输入地址:http://localhost:8080/,恭喜您,您的初级宠物出现了.

现在,来把我们的eclipse搞起来吧,为了让他能和tomcat更好的合作,首先需要去下载一个tomcat的插件,地址么,没有,自己去找吧,我用的是3.3的,下载完成后解压缩,把解压缩后的东西拷贝到你的eclipse插件目录下:D:\Program Files\lomboz\eclipse\plugins,注意解压缩的时候拷贝的是这个东西:

别傻了,我不信你就直接把外面的文件拷进去了。

启动eclipse,指定工作空间,界面如下:

你可爱的宠物就出现在eclipse菜单上了。

好了,来完成结合他们的最后一步吧,eclipse菜单上window-preference-installedJREs

这个跟你所操作出现的可不一样,你需要add一个,

JRE homedirectory里面选择你的jdk安装目录,jre name会自动给出,JVM参数可以设置也可以不设置,然后OK,你就能看到上一张图所显示的东西了,把我们刚刚添加的那个打钩就行,然后再OK,之后再次打开目录window-preference-tomcat

注意,jkd设置那一步一定要OK出去才能生效,然后再tomcat中才能看见你设置的jdkTomcat这个设置我就不多说了,对着截图相信只要不是弱智都能看懂。需要说明的那个上下文声明方式contextdeclaration mode,这里有2中方式,server.xml是使用tomcat这个目录下 D:\Program Files\apache-tomcat-6.0.37\confserver.xml文件来作为加载项目的文件,具体怎么设置这里我先不做说明,后面会讲到,context files这种方式是在D:\Program Files\apache-tomcat-6.0.37\conf\Catalina\localhost目录下建立一个跟项目对应的xml文件,通过这个文件来加载项目,两种方式其实原理是一样的,只是使用方式上的不同而已,这里建议选择第二种方式,想知道好处么,别着急,我会告诉你的,而且不收费,程序员虽然苦逼,但都不吝啬,对吧。

然后是下面的advanced选项:

设置tomcat base,再设置jvm settings

这里只需要设置一个东西,就是最上面的jre,选择我们之前设置的那个,这也是之前为什么要OK出去再进来,不然这里就看不到了,有点扯淡对吧。

好了,什么tomcat的用户名密码之类的就不需要我们去关心了,直接OK出去就行了。

现在可以让我们的宠物为我们服务了,点我们的宠物,是那个没有配饰的宠物,看看控制台打印的信息,没有控制台?不会吧,默认都有,没有也没关系,去window-show view里面把console调出来即可。

运行正常,好了,打开浏览器输入:http://localhost:8080/

恭喜,你再次看见了你的宠物那猥琐的样子。

停掉服务,来开始我们的web项目吧。

New一个project,选择dynamic web projectnext输入项目名test然后finish

我已经有一个名为test的项目了,所以提示名字存在,没关系,同时这里还有一个选项是需要注意的,那就是target runtime选项。截图中已经有了tomcat6,事实上在这里是需要我们去建立一个服务器,选择new

然后选择tomcat6.0,不需要选择每次创建本地服务器,我们只需要都用这一个就可以了然后next

选择我们tomcat安装路径,jre可选可不选,因为我们已经把它设置为默认的了。然后finish就可以了。

看看我们的项目目录,

不要管这个目录结构是否合理,我们不需要去关心它,我们的目标是给你一辆能跑的车,而不是去在乎这辆车是宝马还是奔驰更或者是兰博基尼,在webcontentnew一个jsp页面,然后项目上右键-属性选择tomcat选项

勾选tomcat项目,给定context name,设置应用根目录,然后OK

按照我们之前设置的tomcat,现在来看看D:\Program Files\apache-tomcat-6.0.37\conf\Catalina\localhost这个目录下多了什么东西

看见了吧,多了一个xml文件,名称为test,就是我们所设置的context name,打开看看里面都有什么

很遗憾,只有这么一句话,这句话是什么意思呢,好好揣摩揣摩吧。

然后再次启动我们的tomcat,启动完毕后浏览器里输入

O sorry,你们没看错,是的,一个空白页面,因为在新建jsp页面的时候我们什么也没往里写,到这里,恭喜你,你的钱途一片光明。

最后,来谈谈你的疑惑吧,tomcat设置和部署web项目的补充,

Tomcat部署web应用的方式总结,常见的有以下四种,这四种是网上找来的,然后自己加以补充,后面2条是tomcat部署多项目的方法:

1、【使用控制台部署】

           访问Http//localhost:8080,并通过Tomcat Manager登录,进入部署界面即可。

2、【利用Tomcat自动部署】

           将应用程序复制到Tomcat webapps路径下,Tomcat启动时将自动加载。

3、【修改Server.xml文件部署,这种方式需要先设置tomcat的上下文声明模式,方法在eclipse-window-preference里面的tomcat中设置,选择上下文声明模式为server.xml

    项目右键属性里面tomcat选项里必须勾选为tomcat项目context name必须给,与项目名保持一致即可,有没有/都无所谓,

    不影响访问,然后设置应用根目录\WebContent,正反斜杠都可以】

           UEEditPlus打开Tomcat位于conf/server.xml的配置文件,找到以下内容:

                 <Hostname="localhost" debug="0" appBase="webapps"unpackWARs="true" autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false">

                .....

                 </Host>

     .....

           Host之间添加如下内容:

           <Context path=""reloadable="true" docBase="D:\workspace\test\WebContent"workDir="D:\workspace\test\work" />

           path:表示访问的路径;如上述例子中,访问该应用程序为:http://localhost:8080/test.jsp,这里你可能发现了,我的path是空,是的,我是没有设置,因为如果我在项目属性中设置了comtext name之后,我无法访问我的页面,404,你懂的。

           reloadable:表示可以在运行时在classeslib文件夹下自动加载类包,通常开发时设置为true,程序发布后最好设置为false,可以提高访问速率。

           docbase:表示应用程序的地址,注意斜杠的方向“”

           workdir:表示缓存文件的放置地址

这种方式有个弊端,就是无法多项目部署,也就是说我可以在server.xml文件里面写多个,但是只能有一个项目是可运行的,其他项目都必须注释掉,要解决这个方法可以参照后面的多项目部署,但是本人没有亲自试过。这里xml文件中的内容其实也不需要你去手工修改,项目右键

有个tomcat project选项,这个就是我们选择tomcat项目后新增的菜单项,选择update context difinition更新我们的上下文定义,弹出窗口显示更行成功,然后你打开server.xml文件就能看到项目名称已经变了,就不需要我们手工去写入,想运行其他的项目就可以这样,它会自动修改成其他的项目。

4、【增加自定义web部署文件(推荐),这种方式需要先设置tomcat的上下文声明模式,方法在eclipse-window-preference里面的tomcat中设置,选择上下文声明模式为context.files,对应的xml,

    项目右键属性里面tomcat选项里必须勾选为tomcat项目context name必须给,与项目名保持一致即可,

    有没有/都无所谓,不影响访问,然后设置应用根目录\WebContent,正反斜杠都可以】

           这种方式需要先设置tomcat的上下文声明模式,方法在eclipse-window-preference里面的tomcat中设置,选择上下文声明模式为context.files,对应的xml文件就会自动生成,也可以像下面这样。

           Tomcat安装目录confCatalinalocalhost下,里面有Tomcat自带的三个应用,随意复制其中的一个XML文件,然后修改docbase指向你自己的应用程序,

           并把path改名,各参数参见上第三种方法。或者你也可以自己新建一个XML文件(注意此文件名将作为Context中的path,不管文件里的path怎么设置也无效)

           将以下内容复制过去,修改相应路径即可。

           <Context path="test"reloadable="true" docBase="D:\workspace\test\WebContent"workDir="D:\workspace\test\work" />

           部署完毕后,通过http://localhost:8080/test/test.jsp ,test.jsp为我在WebContent下建的测试页面,这个path必须有,负责无法访问。

5、【tomcat多项目部署方法1,此方法为网上搜索,没有实践,好像大部分都是这种方法,选择上下文声明模式为server.xml

           tomcat的配置文件..\apache-tomcat-6.0.29\conf\server.xml

           增加Xml代码

           <Hostname="localhost" appBase="/webapps" unpackWARs="true"autoDeploy="true" 

              xmlValidation="false"xmlNamespaceAware="false"> 

            <ContextdocBase="D:\workspace\xx1\WebRoot" path=""reloadable="false"> </Context> 

           </Host> 

           <Hostname="my.admin.com" appBase="/webapps" unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"> 

           <ContextdocBase="D:\workspace\admin\WebRoot" path=""reloadable="flase"></Context> 

           </Host> 

           一般要看到效果需要

           需要修改host文件

           C:\WINDOWS\system32\drivers\etc\hosts

           在文件后面添加一行如下的一行

           127.0.0.1       localhost

           127.0.0.1       localhost1

           127.0.0.1       aaa

           Tomcat启动报错

           java.lang.ClassCastException:org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast toorg.apache.xerces.xni.parser.XMLParserConfiguration

           当一个TOMCAT里的webapps下的两个子目录的WEB-INF\lib中同时含有两个xercesImpl.jar文件时,有可能出现上面的错误

6、【tomcat多项目部署方法2,目前本人使用此方法,选择上下文声明模式为context.files

           项目可以多建几个,在\apache-tomcat-6.0.37\conf\Catalina\localhost目录下会生成对应的xml文件,名称可以自己定,不过通常都是跟项目一致。直接启动tomcat即可。

           访问路径如下:

           http://localhost:8080/test/test.jsp

           http://localhost:8080/aaa/aaa.jsp

           http://localhost:8080/bbb/bbb.jsp

           我的\apache-tomcat-6.0.37\conf\Catalina\localhost目录下会有test.xml,aaa.xml,bbb.xml这三个xml文件,这三个文件跟上面的方法一样,选择tomcat项目设置完名称和根路径之后都会自动生成。

空口无凭,继续上图:

我的三个项目,下面是我的三个xml文件,都是自动生成的

运行看结果

这是aaa

这是bbb

这是test

注意访问路径,很多人访问路径不对,结果就是这样的了:

看见了吗。

两种方式各有利弊,第一种可以方便快速的跑单一的项目,因为它一次就跑一个项目,速度不言而喻,而第二种方式呢就是可以多项目一起,有时候可能2个项目有关联需要同时用到,但是跑单一项目的时候最好把其他项目的xml文件删掉,会影响启动速度。还有一种方式,就是为每个项目创建一个服务器,个人不太喜欢那种方式,很容易冲突,所以这里我也就不写了,原理其实是一样的。

对了,测试的时候别急着下结论,最好先清空你的xml文件然后重新打开浏览器,结果才更准确。

祝你好运。

原创粉丝点击