系统配置:win7 64bit,IntelliJ IDEA 12,tomcat7
先说一下与Tomcat相关的两个配置:
1、配置默认端口 在tomcat安装目录的conf目录下的server.xml文件中,以下内容中的port属性指定了默认端口:2、将url与web程序目录绑定 默认的根目录是tomcat7\webapps\ROOT,我们可以在conf\server.xml文件Host标签中指定根目录和其他目录,例如:
根据上面的配置,我们访问http://127.0.0.1/aaa时候,使用F:\aaa目录中的web程序,bbb同理。根路径不变。 中提到了三种设置根目录的方法:
在Tomcat默认安装后,tomcat的主目录是webapps/root目录,所以如果想改变tomcat的主目录的话可以如下所做,所以 第一种方法是: 打开C:/Tomcat/conf/server.xml,在之间 加入代码: 这样重新启动tomcat,我们的主目录就被设置为dolphin这个项目了。 第二种方法是: 将tomcat安装目录下的ROOT下的所有文件全部删除,然后将工程的解压后的文件全部拷进去。 第三种方法是: Tomcat5.0以下版本在d:/Tomcat/conf/Catalina/localhost目录下会自动生成了一个ROOT.Xml, 但是5.0以上版本不再生成此文件,所以可以新建个ROOT.xml,在里面加入如下代码:
回到正题,说说如何配置IntelliJ IDEA 12 与 Tomcat7:
1、使用IDEA建立一个J2EE项目todo_web,放在F:\idea_wp\todo_web目录下,将index.jsp内容修改如下。<%-- Created by IntelliJ IDEA. --%><%@ page contentType="text/html;charset=UTF-8" language="java" %>同时。由于webapps\ROOT以前被我清空了,在该目录里建立文件index.html,内容如下:hi, todo.
hello tomcat2、依次点击“File -> settings ->Application Servers”,在窗口右侧添加tomcat,设置tomcat home、base dir。 3、(可选)打开“File -> Project Structure”,查看Project SDK,libs,Artifact等有没有配置好。
![](http://static.oschina.net/uploads/space/2013/1030/192121_4nRM_940565.png)
![](http://static.oschina.net/uploads/space/2013/1030/192642_fK9i_940565.png)
![](http://static.oschina.net/uploads/space/2013/1030/192658_wW2Z_940565.png)
![](http://static.oschina.net/uploads/space/2013/1030/192900_4Kfv_940565.png)
运行效果以及其他:
这时候,我们在浏览器中访问http://127.0.0.1:8080/,会看到“hello tomcat”,而访问http://localhost:8080/todo/可以看到“hi,todo”。 我们看到访问todo产生效果了,但是 tomcat\conf目录并未改变,比如我们关掉IDEA启动的tomcat进程。我们进入tomcat的bin目录直接运行startup.bat,这时候无法访问“/todo”,原因很简单,IDEA运行tomcat时候重新设置了变量,以下是其启动tomcat时候的部分输出:[2013-10-30 06:57:57,692] Artifact web:war exploded: Server is not connected. Deploy is not available.Using CATALINA_BASE: "C:\Users\letian\.IntelliJIdea12\system\tomcat\Unnamed_todo_web"Using CATALINA_HOME: "D:\tomcat7"Using CATALINA_TMPDIR: "D:\tomcat7\temp"Using JRE_HOME: "D:\java\jre_7u25_32bit"我们打开目录C:\Users\letian\.IntelliJIdea12\system\tomcat\Unnamed_todo_web,可以看到conf目录,server.xml文件中Host标签的appBase属性指定的目录被改成了绝对路径(D:\tomcat7\webapps),在\Catalina\localhost目录下有了新文件todo.xml,内容如下:
所以IDEA能够做到对每一个web项目启动一个tomcat,只要port不同即可。
继续
以上的配置开始时候都没有,一段时间后发现总是部署不了,没找到原因,干脆再配置一下, 1、打开“File -> Project Structure ->Artifacts”,添加web application exploded,命名为todo_web:![](http://static.oschina.net/uploads/space/2013/1031/093329_ZYot_940565.png)
![](http://static.oschina.net/uploads/space/2013/1031/093628_p4Sj_940565.png)
![](http://static.oschina.net/uploads/space/2013/1031/093641_Smoh_940565.png)