控制台輸出是什么回事


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.如:

  1. System.setOut(new PrintStream(new FileOutputStream(“output.txt”)));  
  2. 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的源碼很簡單:

Java code
 
?
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文件並打開。在該文件的最后部分可以看到如下配置:

[html]  view plain  copy
 
  1. <!-- Define the Login Configuration for this Application -->  
  2.   <login-config>  
  3.     <auth-method>BASIC</auth-method>  
  4.     <realm-name>Tomcat Manager Application</realm-name>  
  5.   </login-config>  
  6.   
  7.   <!-- Security roles referenced by this web application -->  
  8.   <security-role>  
  9.     <description>  
  10.       The role that is required to log in to the Manager Application  
  11.     </description>  
  12.     <role-name>manager</role-name>  
  13.   </security-role>  

         <auth-method>屬性表示使用的是彈出式窗口登陸,<role-name>屬性表示只有manager角色才能夠登陸該應用。

        為了可以登陸Manager控制台,就必須增加屬於manager角色的用戶。Tomcat默認采用文件安全域,即文件存放用戶名和密碼,而這個文件就是%Tomcat_Home%\conf下的tomcat-users.xml來控制。打開該文件,其有以下內容:

[html]  view plain  copy
 
  1. <?xml version='1.0' encoding='utf-8'?>  
  2. <tomcat-users>  
  3. </tomcat-users>  

        以上的配置文件中顯示Tomcat默認沒有配置任何用戶,所以說無論我們在以上的登陸對話框中輸入何種內容,系統都不會讓我們登陸。為了能夠正常登陸,則必須修改這個tomcat-users.xml文件來增加用戶,並讓該用戶屬於manager角色。方法為在<tomcat-users>元素中增加<user>元素來增加用戶,修改后內容如下:

[html]  view plain  copy
 
  1. <?xml version='1.0' encoding='utf-8'?>  
  2. <tomcat-users>  
  3.   <role rolename="manager"/>  
  4.   <user username="tomcat" password="tomcat" roles="manager"/>  
  5. </tomcat-users>  

        以上的代碼增加了一個用戶,用戶名為tomcat,密碼為tomcat,角色為manager與web.xml中定義的一致。

        這樣我們就可以通過以上手段成功登陸manager控制台。登陸后的畫面截圖如下:

 

 


 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM