控制台输出是什么回事

Posted THISISPAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制台输出是什么回事相关的知识,希望对你有一定的参考价值。

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应用。如下图:

 技术分享

以上是关于控制台输出是什么回事的主要内容,如果未能解决你的问题,请参考以下文章

qtcreator软件编程后结果数字和数字没有间隔怎么回事

eclipse servlet 从控制台输出中文乱码(问号)是怎么回事

python print不输出怎么回事

C++ 解释器/控制台/片段编译器

java.io.IOException是怎么回事

(转) Java中的负数及基本类型的转型详解