IntelliJ IDEA 12 与 Tomcat7 配置

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

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


一、配置默认端口
在tomcat安装目录的conf目录下的server.xml文件中,如下内容中的port属性指定了默认端口:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
二、将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 &quot;%r&quot; %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:

一、使用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
二、依次点击“File -> settings ->Application Servers”,在窗口右侧添加tomcat,设置tomcat home、base dir。
三、(可选)打开“File -> Project Structure”,查看Project SDK,libs,Artifact等有没有配置好。


四、打开“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不一样便可。


继续

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


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


这时,运行成功。
相关文章
相关标签/搜索