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"
/>
|
默認的根目錄是tomcat7\webapps\ROOT,我們可以在conf\server.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:\bbb"
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\todo_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產生效果了,但是 tomcat\conf目錄並未改變,比如我們關掉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:\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"
|
|
1
2
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
Context
path
=
"/todo"
docBase
=
"F:\idea_wp\todo_web\out\artifacts\web_war_exploded"
/>
|
繼續
以上的配置開始時候都沒有,一段時間后發現總是部署不了,沒找到原因,干脆再配置一下,1、打開“File -> Project Structure ->Artifacts”,添加web application exploded,命名為todo_web:
2、打開“Run -> Edit configurations ”,編輯myTomcat:
這時,運行成功。
