本地安装的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. 织梦dedeCMS留言薄

    dedeCMS留言薄模塊名爲guestbook, 留言薄模板:/templets/plus/guestbook.htm; 留言回覆模板: 管理員回覆調用/templets/plus/guestbook ...

  2. 003_JS基础_面向对象基础

    3.1 对象   引入:在js中表示一个人的信息(name, gender, age)通过var申明三个变量,但是这样使用基本数据类型的变量,他们是互相独立的,没有联系:  此时就需要使用对象,对象是 ...

  3. 邓_ phpcms_

    {pc:content action="lists" catid="$catid" num="10" order="id DESC ...

  4. ap web

    apapplication端吧    应用程序端   也C-S架构Cweb网页端   般封装httpservletrequest和httpservletresponse对象处理些操作  b-s架构

  5. 工厂模式Java

    一.工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的. 工厂模式在<Java与模式>中分为三类:1)简单工厂模式(Simple Factor ...

  6. linux 保留内核中sas驱动的加载导致crash问题

    [root@localhost ~]# uname -a Linux localhost.localdomain -.el7.x86_64 问题描述,在crash的时候,小内核因为分配中断号失败而触发 ...

  7. scss 初学笔记 一 变量声明 默认的样式 嵌套

    $width: 300px !default; $:          变量声明符号; width:    变量名称; 300px:   赋予变量的值; !default  代表默认样式 !defau ...

  8. python_如何在一个for循环中迭代多个可迭代对象?

    案例: 某班学生期末考试成绩,语文.数学.英语分别存储在3个列表中,同时迭代三个列表.,计算每个学生的总分(并行) 某年级有4个班,某次英语成绩分别记录在4个列表中,依次迭代每个列表,统计全年级高于9 ...

  9. form表单action=""的作用

    看项目时发现action="",可仍旧提交到后台相关页面了.查了一下,action=""相当于当前页面刷新,不过页面按照form表单提交参数到后台@参考文章

  10. Linux 中su和sudo命令的几个注意点

    1 su与su - 的区别 1.1命令说明 su对应是是no-login shell的方式进行账号登陆,命令行的变量配置还是切换账号前的变量. su-对应的是login shell的方式进行账号登陆, ...