控制台输出是什么回事
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.如:
- 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应用。如下图:
以上是关于控制台输出是什么回事的主要内容,如果未能解决你的问题,请参考以下文章