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:


這時,運行成功。
相關文章
相關標籤/搜索