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:

这时,运行成功。

IntelliJ IDEA 12 与 Tomcat7 配置的更多相关文章

  1. IntelliJ IDEA 12 创建Web项目 教程 超详细版

    IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走 ...

  2. IntelliJ IDEA 12 创建Web项目 教程 超详细版【转】

    IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走 ...

  3. mac系统Intellij Idea的java环境配置:JDK + Tomcat + Maven

    一.JAVA JDK查看与配置 1.查看java路径详细信息: /usr/libexec/java_home -V 2.java默认路径 jdk1.6: /System/Library/Java/Ja ...

  4. intellij idea 12 编码不可映射字符

    IntelliJ IDEA中错误提示:java: Syntax error on token "Invalid Character", delete this token Inte ...

  5. Tomcat7配置及其servlet调用详解

    Tomcat 1 Tomcat简介 Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成 ...

  6. intellij idea 12、13 win8 下 中文输入覆盖的问题(搜狗输入法或者其他输入法)

    最近升级到idea12,发现中文输入存在问题,输入中文的时候会出现空格,并且覆盖后面的字符,这个问题让我很郁闷. 假设idea的安装位置为:D:\Program Files\JetBrains\Int ...

  7. Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面

    Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...

  8. Intellij idea 12和设置快捷键修改(加快项目的开发速度与养成良好习惯)

    1.为了养成良好的代码习惯idead中的javascript jSLint能显示不良的代码设置如下    2.Intellij idea 12每一次修改,保存生成都要按ctrl+shift+F9非常影 ...

  9. tomcat,tomcat7配置https

    <一,>,tomcat7配置https 1,生成keystore文件及导出证书

随机推荐

  1. CodeForces 551E 分块

    题目链接:http://codeforces.com/problemset/problem/551/E 题意:给定一个长度为N的序列. 有2个操作 1 l r v:序列第l项到第r项加v(区间加), ...

  2. 浏览器User-agent简史(user-agent)

    In the beginning there was NCSA Mosaic, and Mosaic called itself NCSA_Mosaic/2.0 (Windows 3.1), and ...

  3. RUDP之一 —— UDP VS TCP

    原文链接 原文:http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/ 介绍 大家好,我是Glenn Fiedler, ...

  4. 关于如何通过定义自己的CameraManager来控制视角

    2016.8.30 发现了这个函数,可以直接获得摄像机的位置和旋转. Controller->GetPlayerViewPoint(CamLoc, CamRot); 最近看了几天PlayerCa ...

  5. i2c协议

    i2c协议 http://blog.csdn.net/g_salamander/article/details/8016698 总线设备驱动模型 http://blog.csdn.net/u01395 ...

  6. Django框架初入

    一.Django 特性 数据库功能强大(利用python的类继承,几行代码就可以实现一个动态的数据库操作接口(API)) 强大的后台功能 优雅的网址(正则匹配网址,传递到对应函数) 模板与缓存系统 二 ...

  7. 【Alpha】Daily Scrum Meeting总结

    一.项目预期计划和现实进展 项目预期计划 现实进展 登陆 完成 使用菜单 完成 查看自己的信息 完成(额外完成可修改) 完成能用的界面 完成(额外美化) 可以导入导出表格 导入表格完成,导出未完成 教 ...

  8. 《大道至简》第一章——编程的精义_读后感(Java伪代码形式)

    <大道至简>第一章——编程的精义_读后感(Java伪代码形式)1.愚公移山//愚公为团体的项目组织者.团体经理.编程人员.技术分析师等//子孙荷担者三人为三名技术人员//遗男为外协//目标 ...

  9. 2016huasacm暑假集训训练三 D - Invitation Cards

    题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/D 题意:一张个向图,求从点1开始到其他各点的最短路权值和加上从其他各点到点1的最短 ...

  10. Android-adb指令

    adb概念: adb的全称为Android Debug Bridge(调试桥):通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序.当我们运行Eclipse时ADB进程   ...