1.控制台輸出,是指程序運行過程中,將一些信息,output出來,用輸出流,可以輸出到指定文件或者控制台。
2.日志信息,就是程序中的標准input/output stream,只是將i/o的目的地輸出到console這個程序而已。
3.console是個單獨的系統程序,console是單獨的程序,否則怎么動態輸出log信息?是的,console底層就是c語言的printf .
4.大部分ide開發環境也都提供了自己console程序,比如eclipse和tomcat。要打印程序的log信息,只需設置程序的log輸出到ide console就行。
5.Tomcat有兩個控制台,一個是manager,一個是status。
其中Status控制台是用於監控Web應用的狀態。
而Manager控制台可以部署、監控Web應用,故通常使用Manager控制台。點擊上圖中的Tomcat Manager鏈接,准備進入Manager控制台
2.如:
- System.setOut(new PrintStream(new FileOutputStream(“output.txt”)));
- System.out.println(“This is test output”);
5.printf一般是在c語言用,java不用這個,用System.out.println(),println有一系列重載方法,可以將各種類型的參數輸出到控制台。
java中的System.out.printf(String format,Object...args)貌似是用來格式化的,用的很少。
printStackTrace就是將拋出的Throwable對象追蹤的堆棧的異常信息打印到控制台,沒有什么值得研究的原理。
printStackTrace的源碼很簡單:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public
void
printStackTrace() {
printStackTrace(System.err);
}
public
void
printStackTrace(PrintStream s) {
synchronized
(s) {
s.println(
this
);
StackTraceElement[] trace = getOurStackTrace();
for
(
int
i=
0
; i < trace.length; i++)
s.println(
"\tat "
+ trace[i]);
Throwable ourCause = getCause();
if
(ourCause !=
null
)
ourCause.printStackTraceAsCause(s, trace);
}
}
|
System.err和System.out的區別你查一下,建議你把Java基礎再好好復習一遍。
8.
下圖是啟動Tomcat后(假設%Tomcat_Home%\conf\server.xml中的默認服務端口仍是8080),在瀏覽器中鍵入http://localhost:8080 后出現的Tomcat啟動成功畫面的部分截圖:(筆者此處使用的是Tomcat 6.0.18)

在上圖的左上角Adminstration欄中,顯示有兩個控制台,分別是Status和Manager控制台。
其中Status控制台是用於監控Web應用的狀態。
而Manager控制台可以部署、監控Web應用,故通常使用Manager控制台。點擊上圖中的Tomcat Manager鏈接,准備進入Manager控制台,然而出現如下登陸對話框:

這個控制台必須輸入用戶名和密碼才能夠登陸,控制台的用戶名和密碼是通過Tomcat的JAAS(Java驗證和授權API)控制的。在Tomcat的文件結構中webapps是web應用的存放位置,所以Manager控制台所對應的web應用也是放置在這個文件夾下。然后進入以下路徑webapps\manager\WEB-INF\,找到web.xml文件並打開。在該文件的最后部分可以看到如下配置:
- <!-- Define the Login Configuration for this Application -->
- <login-config>
- <auth-method>BASIC</auth-method>
- <realm-name>Tomcat Manager Application</realm-name>
- </login-config>
- <!-- Security roles referenced by this web application -->
- <security-role>
- <description>
- The role that is required to log in to the Manager Application
- </description>
- <role-name>manager</role-name>
- </security-role>
<auth-method>屬性表示使用的是彈出式窗口登陸,<role-name>屬性表示只有manager角色才能夠登陸該應用。
為了可以登陸Manager控制台,就必須增加屬於manager角色的用戶。Tomcat默認采用文件安全域,即文件存放用戶名和密碼,而這個文件就是%Tomcat_Home%\conf下的tomcat-users.xml來控制。打開該文件,其有以下內容:
- <?xml version='1.0' encoding='utf-8'?>
- <tomcat-users>
- </tomcat-users>
以上的配置文件中顯示Tomcat默認沒有配置任何用戶,所以說無論我們在以上的登陸對話框中輸入何種內容,系統都不會讓我們登陸。為了能夠正常登陸,則必須修改這個tomcat-users.xml文件來增加用戶,並讓該用戶屬於manager角色。方法為在<tomcat-users>元素中增加<user>元素來增加用戶,修改后內容如下:
- <?xml version='1.0' encoding='utf-8'?>
- <tomcat-users>
- <role rolename="manager"/>
- <user username="tomcat" password="tomcat" roles="manager"/>
- </tomcat-users>
以上的代碼增加了一個用戶,用戶名為tomcat,密碼為tomcat,角色為manager與web.xml中定義的一致。
這樣我們就可以通過以上手段成功登陸manager控制台。登陸后的畫面截圖如下:

控制台下方的Deploy可以部署Web應用。其提供兩種方式,一種是整個應用部署成為web應用,另一種是將WAR文件部署成web應用。如下圖:

