IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java等少数语言。

系统配置:win7 64bit,IntelliJ IDEA 12,tomcat7

先说一下与Tomcat相关的两个配置:

1、配置默认端口

在tomcat安装目录的conf目录下的server.xml文件中,以下内容中的port属性指定了默认端口:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

2、将url与web程序目录绑定 
 默认的根目录是tomcat7\webapps\ROOT,我们可以在conf\server.xml文件Host标签中指定根目录和其他目录,例如:

<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:\bbb" path="/bbb" debug="0" reloadable="true" crossContext="true" />
</Host>

根据上面的配置,我们访问http://127.0.0.1/aaa时候,使用F:\aaa目录中的web程序,bbb同理。根路径不变。http://nj-apple-tree.iteye.com/blog/1635953中提到了三种设置根目录的方法:

在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\todo_web目录下,将index.jsp内容修改如下。

<%-- Created by IntelliJ IDEA. --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
hi, todo.
</body>
</html>

同时。由于webapps\ROOT以前被我清空了,在该目录里建立文件index.html,内容如下:

hello tomcat

2、依次点击“File -> settings ->Application Servers”,在窗口右侧添加tomcat,设置tomcat home、base dir。 
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产生效果了,但是 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,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/todo" docBase="F:\idea_wp\todo_web\out\artifacts\web_war_exploded" />

所以IDEA能够做到对每一个web项目启动一个tomcat,只要port不同即可。

继续

以上的配置开始时候都没有,一段时间后发现总是部署不了,没找到原因,干脆再配置一下, 
 1、打开“File -> Project Structure ->Artifacts”,添加web application exploded,命名为todo_web:

2、打开“Run -> Edit configurations ”,编辑myTomcat:

这时,运行成功。

最新文章

  1. linux下使用sftp
  2. PDF模板报表导出(Java+Acrobat+itext)
  3. stagefright框架(五)-Video Rendering
  4. Team Foundation Server 2015使用教程--权限为读取器的团队成员连接tfs及checkin操作
  5. [js笔记整理]DOM 篇
  6. Python学习日记:day7-----集合
  7. shell中awk printf的用法
  8. Node.js爬取豆瓣数据
  9. 根据ccid取得账户,更改某段值再创建账户,返回新的ccid
  10. CentOS 7下安装vertica记录
  11. 安卓点击home键重启
  12. 关于linux crontab定时操作oracle不执行的问题解决方案
  13. eclipse使用报错集锦
  14. OID的编解码(即在报文中的体现)
  15. List泛型与DataTable相互转换
  16. groovy与java中的多方法
  17. DB安装
  18. Java的图形用户界面的基本工具
  19. Confluence 6 设置公共访问备注
  20. HTTP协议中的长连接、短连接、长轮询、短轮询

热门文章

  1. error C2144: 语法错误:&ldquo;int&rdquo;的前面应有&ldquo;;&rdquo;
  2. JavaOO面向对象中的注意点(二)
  3. poj 3253 Fence Repair
  4. IE
  5. tcp三次握手和四次握手
  6. Codeforces Round #352 (Div. 2)
  7. 单例模式双重检查锁(DCL)问题
  8. html上下结构(上部固定高度,下部平铺)
  9. 对Ajax连接的认识~为毛不能上传文件!!!
  10. input type=file 图片上传相关