怎样查看Tomcat动态控制台信息

落爺英雄遲暮 提交于 2020-02-12 00:28:28

 

 

本地安装的Tomcat服务器版本是 Apache Tomcat/7.0.42

启动 localhost

使用Tomcat的前提是安装了jdk,我在本地安装了jdk7。Tomcat服务器的文件目录为F:\xampp\tomcat。该目录中的主要子目录及其作用:

No.     目      录    作       用    
1   bin  所有的可执行命令,启动和关闭服务器的命令就在此文件夹之中 
2   conf  服务器的配置文件夹,其中保存了各个配置信息
3   lib  Tomcat服务器所需要的各个库文件
4   logs  保存服务器的系统日志
5   webapps  Web应用程序存放的目录,Web项目保存到此目录中即可发布
6   work  临时文件夹,生成所有的临时文件  ( *.java、*.class )

可通过Tomcat中的bin目录下的tomcat7.exe命令启动Tomcat服务器,也可以通过xampp的控制面板中tomcat开启按钮来打开服务器。注意启动后不可关闭。

服务器启动后,打开浏览器,并在浏览器中输入“http://localhost:8080/” 或者“http://127.0.0.1:8080”,即可看到页面:


下面开始修改配置文件:由于默认端口号是8080,可以打开Tomcat目录下中的conf/server.xml文件,找到以下内容:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

将pot定义的内容8080修改为80即可。这样,以后直接输入“http://localhost/”即可进行访问,不用再输入端口号。配置修改后,需要重新启动服务器方能生效。

配置虚拟目录

|- 项目路径配置server.xml

在Tomcat服务器的配置中,最重的是配置虚拟目录的操作,因为每一个虚拟目录都保存了一个完整的Web项目,这样对于项目的开发及运行维护都有很大的帮助。

在F盘下建立tom文件夹。接下来可以修改Tomcat目录下的conf/server.xml文件,添加以下代码:

<Context path="/tom" docBase="F:\tom" reloadable="true" />


注意:path name可以不与docBase name一致,path name是在浏览器中输入的访问路径(localhost/pathname)。

这里的reloadable指的是,当class文件发生变化时,可以自动重新载入。如果重新加载了class文件,则在Tomcat后台将出现以下提示信息:

信息:Reloading this Context with name [path] has started

注:Tomcat安装目录的lib文件夹,以及项目目录的WEB-INF\classes和WEB-INF\lib文件夹实际上都表示了classpath,所以直接将类或jar包或*.class文件复制到这些文件夹就可以直接使用。

|- 项目配置信息web.xml

在项目目录F:\tom下新建WEB-INF文件夹,将默认的 Tomcat 安装目录下的文件 tomcat\webapps\ROOT\WEB-INF\web.xml 文件拷贝到新建的WEB-INF文件夹内。可以参考Tomcat安装目录下的tomcat\conf\web.xml文件的内部信息,进行相关配置内容的编写。这两个web.xml文件的配置内容将形成并集,如果有相同的标签选项,则在浏览器中访问项目文件时,服务器根据项目目录内的web.xml文件的配置内容为依据作出相关判断。总而言之,默认以conf\web.xml为配置依据,如有相同配置项,优先考虑项目目录下的web.xml文件。例如:

如果想让服务器支持目录浏览功能,可以在WEB-INF\web.xml文件内的添加以下内容

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
</servlet>

  重启服务器,在浏览器中输入localhost/tom/即可正常浏览虚拟目录。


页面第一次执行时是比较慢的,而之后的执行速度就会变得很快。这是由于JSP在第一次执行时会首先把*.jsp文件翻译成*.java文件,然后再将*.java编译成*.class文件后才执行的。且java和class文件保存在tomcat\work\Catalina\localhost\tom\org\apache\jsp\xxx目录下。修改jsp文件之后,每次运行都会重新生成新的文件。

加入错误处理页

|- 在每个JSP页面中指定

   在页面顶部加了以下指令:

<%@ page errorPage="error.jsp"%> <%-- 一旦出现错误之后将跳转到error.jsp中 --%>

 这里,error.jsp的内容如下:

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%> 
<%@ page isErrorPage="true"%>
<html>
<head><title>title</title></head>
<body>
<%
	response.setStatus(200) ;
%>
<h1>程序出现了错误</h1>
</body>
</html>

  注意:如果不加上“ response.setStatus(200) ”,那么同样会服务端跳转并显示error.jsp的内容,但是返回的状态码将是500,而设置返回状态码是200之后在客户端看来服务器的响应是正常的,因此最好加上。

|- 在整个虚拟目录中指定

   修改WEB-INF\web.xml,加入错误处理:

	<error-page>
		<error-code>500</error-code>
		<location>/basic_page/error.jsp</location>
	</error-page>
	<error-page>
		<error-code>404</error-code>
		<location>/basic_page/error.jsp</location>
	</error-page>
	<error-page>
		<exception-type>java.lang.NullPointerException</exception-type>
		<location>/basic_page/error.jsp</location>
	</error-page>

  全局的错误处理可以处理两种类型的错误,一种是HTTP代码的错误,如404或500;还有一种是异常的错误,如NullPointerException等。以上的配置表示,如果在项目中出现了404或500的HTTP状态码,或者出现了空指向异常(NullPointerException),则会跳转到basic_page/error.jsp 页面进行显示。但是,此时跳转过去,地址栏同样不会有任何变化,所以依然是服务器端跳转。

 

将程序中的System.out.println()打印信息记录到指定日志中

在Linux系统中,Tomcat 启动后默认将很多信息都写入到catalina.out 文件中,我们可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况。 在windows下,我们使用startup.bat启动Tomcat以后,会发现catalina日志与Linux记录的内容有很大区别,大多信息只输出到屏幕而没有记录到catalina.out里面。 本文的内容就是要实现在windows下,将相关的控制台输出记录到后台的日志中以便查看。 

1、打开bin下面的startup.bat文件,把call "%EXECUTABLE%" start %CMD_LINE_ARGS%
改为call "%EXECUTABLE%" run %CMD_LINE_ARGS% 。
2、打开bin下面的catalina.bat文件,会发现共有4处 %ACTION% ,在后面分别加上
>> %CATALINA_HOME%\logs\catalina_out.txt 
重启tomcat,就会发现在logs文件夹下出现了catalina_out.txt文件,把原本在控制台输出的打印记录信息(System.out.println)全写进去了。

注意:这里所实现的功能为单独输出到日志文件(catalina_out.txt),且不会作为Tomcat的控制台信息打印到其所对应的log文件中。在这之前,打印信息仅仅输出在Tomcat的控制台,但不会同步记录到控制台的log文件中去。此外,该文件还会持续增长,且没有其它的区分标识,这也是其缺点所在。如果可以直接输出到控制台的信息记录中,就不会出现这种情况了。

 

 

怎样查看Tomcat动态控制台信息

 

 

下载Tomcat:

http://tomcat.apache.org/download-80.cgi

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!