IntelliJ IDEA 12 与 Tomcat7 配置
http://my.oschina.net/letiantian/blog/173025
系统配置:win7 64bit,IntelliJ IDEA 12,tomcat7
先说一下与Tomcat相关的两个配置:
1、配置默认端口
在tomcat安装目录的conf目录下的server.xml文件中,以下内容中的port属性指定了默认端口:
1
|
< Connector connectionTimeout = "20000" port = "8080" protocol = "HTTP/1.1" redirectPort = "8443" /> |
默认的根目录是tomcat7webappsROOT,我们可以在confserver.xml文件Host标签中指定根目录和其他目录,例如:
1
2
3
4
5
6
7
|
< Host appBase = "webapps" autoDeploy = "true" name = "localhost" unpackWARs = "true" > < Valve className = "org.apache.catalina.valves.AccessLogValve" directory = "logs" pattern = "%h %l %u %t "%r" %s %b" prefix = "localhost_access_log." suffix = ".txt" /> < Context docBase = "F:aaa" path = "/aaa" reloadable = "true" /> < Context docBase = "F:bb" path = "/bbb" debug = "0" reloadable = "true" crossContext = "true" /> </ Host > |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
在Tomcat默认安装后,tomcat的主目录是webapps/root目录,所以如果想改变tomcat的主目录的话可以如下所做,所以 第一种方法是: 打开C:/Tomcat/conf/server.xml,在< host ></ host >之间 加入代码:< Context docBase = "d:/Tomcat 5.5/webapps/medi" path = "" debug = "0" reloadable = "true" /> 这样重新启动tomcat,我们的主目录就被设置为dolphin这个项目了。 第二种方法是: 将tomcat安装目录下的ROOT下的所有文件全部删除,然后将工程的解压后的文件全部拷进去。 第三种方法是: Tomcat5.0以下版本在d:/Tomcat/conf/Catalina/localhost目录下会自动生成了一个ROOT.Xml, 但是5.0以上版本不再生成此文件,所以可以新建个ROOT.xml,在里面加入如下代码: <? Xml version = '1.0' encoding = 'utf-8' ?> < Context crossContext = "true" docBase = "d:/Tomcat 5.5/webapps/medi" path = "" reloadable = "true" > </ Context > |
回到正题,说说如何配置IntelliJ IDEA 12 与 Tomcat7:
1、使用IDEA建立一个J2EE项目todo_web,放在F:idea_wp odo_web目录下,将index.jsp内容修改如下。
1
2
3
4
5
6
7
8
9
10
|
<%-- Created by IntelliJ IDEA. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> < html > < head > < title ></ title > </ head > < body > hi, todo. </ body > </ html > |
1
|
hello tomcat |
3、(可选)打开“File -> Project Structure”,查看Project SDK,libs,Artifact等有没有配置好。
4、打开“Run -> Edit Configurations”,点击左侧的“+”以添加服务器,并作配置:
“OK”后,点击myTomcat右边的运行按钮(绿色三角形):
运行效果以及其他:
这时候,我们在浏览器中访问http://127.0.0.1:8080/,会看到“hello tomcat”,而访问http://localhost:8080/todo/可以看到“hi,todo”。我们看到访问todo产生效果了,但是 tomcatconf目录并未改变,比如我们关掉IDEA启动的tomcat进程。我们进入tomcat的bin目录直接运行startup.bat,这时候无法访问“/todo”,原因很简单,IDEA运行tomcat时候重新设置了变量,以下是其启动tomcat时候的部分输出:
1
2
3
4
5
|
[2013-10-30 06:57:57,692] Artifact web:war exploded: Server is not connected. Deploy is not available. Using CATALINA_BASE: "C:Usersletian.IntelliJIdea12system omcatUnnamed_todo_web" Using CATALINA_HOME: "D: omcat7" Using CATALINA_TMPDIR: "D: omcat7 emp" Using JRE_HOME: "D:javajre_7u25_32bit" |
1
2
|
<? xml version = "1.0" encoding = "UTF-8" ?> < Context path = "/todo" docBase = "F:idea_wp odo_weboutartifactsweb_war_exploded" /> |
继续
以上的配置开始时候都没有,一段时间后发现总是部署不了,没找到原因,干脆再配置一下,1、打开“File -> Project Structure ->Artifacts”,添加web application exploded,命名为todo_web:
2、打开“Run -> Edit configurations ”,编辑myTomcat:
这时,运行成功。