本地安装的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
来源:https://www.cnblogs.com/ioveNature/p/6803843.html