本地安装的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

Tomcat服务器的配置的更多相关文章

  1. Tomcat服务器常用配置和HTTP简介

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  2. JavaEE:Tomcat服务器常用配置和HTTP简介

    Web服务器常用配置1.Web系统采用B/S结构通信的:Browser --- Server1)浏览器向服务器发送访问目标资源请求(请求)2)服务器根据请求的目标资源路径,在服务器端进行查找(请求查找 ...

  3. 整合Solr到Tomcat服务器,并配置IK分词

    好久没有接触新东西了,最新开始熟悉solr,实例展示单机环境solr整合. 整合方案一 1.下载Tomcat与solr并解压 Tomcat解压后磁盘路径为D:\program files\Tomcat ...

  4. jaee开发起步:tomcat服务器的配置

    1.将下载下来的apache-tomcat-6.0.13.zip解压到任意文件夹. (打开tomcat官网,选择下载tomcat6.x.zip版本的tomcat不需要安装,直接解压并配置一下环境变量就 ...

  5. Tomcat服务器中配置多个域名,访问不同的web项目

    先说一下在本地电脑怎么实现: 想要在一个tomcat下访问两个web项目时,可以通过添加虚拟host的方式来解决. 详细步骤如下: 1.将两个项目打包放入tomcat的webapps目录下: 2.修改 ...

  6. 启动tomcat服务器,配置CATALINA_HOME和JAVA_HOME

    遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:tomcat在启动时,会读取环境变量的信息,需要一个CATALIN ...

  7. linux tomcat服务器优化配置

    在 /usr/local/tomcat/bin/catalina.sh里首行加入, 防止内存不够的问题 JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX ...

  8. 怎么通过外网来访问自己在Tomcat服务器中配置的项目

    目前还没有试验过 https://blog.csdn.net/qingyisuo/article/details/80086105

  9. 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程

    之前在Mac上通过安装mamp来搭建PHP环境服务器,但是对于java来说,目前还是没有找到类似mamp这样强大的软件来构建及管理java环境服务器,所以目前也是通过命令行来进行tomcat服务器的安 ...

随机推荐

  1. 利用光场进行深度图估计(Depth Estimation)算法之一——聚焦算法

    前面几篇博客主要说了光场相机,光场相机由于能够记录相机内部整个光场,可以实现重聚焦(模糊线索)和不同视角的变换(视差线索),同时也可以利用这个特性进行深度估计(Depth Estimation). 先 ...

  2. HTML <select>标签

    1.简单的下拉列表 <html> <body> <form> 名: <select name="firstname"> <op ...

  3. 无法打开物理文件 操作系统错误 5:拒绝访问 SQL Sever

    今天分离附加数据库,分离出去然后再附加,没有问题.但是一把.mdf文件拷到其它文件夹下就出错,错误如下:    无法打开物理文件 "E:\db\homework.mdf".操作系统 ...

  4. Springmvc 并发访问的线程安全性问题

    首先对于spring的IOC来说,对象是由Spring来帮我们管理,也就是在Spring启动的时候,在Spring容器中,由Spring给我们创建的,Spring会帮我们维护,一般都是单例的,也就是一 ...

  5. Linux日志轮循实现(shell)

    在Linux系统中,日志的使用非常频繁,那么对日志就需要一定策略的管理,包括存放目录的设计,log文件命名规则,历史log文件的存放,log目录的容量限制,另外还有日志轮循. 日志轮循就是,将过期的l ...

  6. Linuxc - 多c文件程序编译执行

    多文件使用,一起编译 定义max.h int max(int a,int b); 定义max.c #include "max.h" int max(int a,int b) { i ...

  7. linux unzip 解压后文件名乱码

    在windows上zip的包,rz上传到linux下,发现出现乱码.记录下解决过程: 1.确定windows上的默认字符集 在Windows平台下,直接在命令行中,输入:chcp 在显示的结果中,会出 ...

  8. video.js不能控制本地视频或者音频播放时长

    问题: 把视频放到本地,然后对视频进行测试,想要控制视频或者音频的播放时长,没办法做到,每次拉动进度条,都会使得本地视频重新播放 原因: 所有浏览器默认js无法访问本地地址,也就是说js不能对本地文件 ...

  9. scrapy_移除内容中html标签

    如何移除所获取内容中多余的html标签? 通过w3lib模块和re模块 #!/usr/bin/python3 # -*- coding: UTF-8 -*- __author__ = 'beimenc ...

  10. python_如何让类支持比较运算?

    案例: 有时我们希望自定义的类,实例间可以使用比较运算符进行比较,我们自定义比较的行为. 需求: 有一个矩形的类,我们希望比较两个矩形的实例时,比较的是他们的面积 如何解决这个问题? 在类中重新定义比 ...