码迷,mamicode.com
首页 > 其他好文 > 详细

控制台输出是什么回事

时间:2016-11-25 11:49:38      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:target   win   string   pass   结构   --   没有   void   lov   

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

 技术分享

控制台输出是什么回事

标签:target   win   string   pass   结构   --   没有   void   lov   

原文地址:http://www.cnblogs.com/panxuejun/p/6100708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!