tomcat,配置

发布时间:2015-06-08 来源: tomcat部署

第一篇:tomcat,配置

首先确定你得 jdk 环境已配好, 检验方法, dos 下键入命令 javac,如果出来一堆命 令就说明配置正确。本文不再赘述,教程 找度娘。

第一步:到官网下载最新版 tomcat(个 人 比 较 喜 欢 最 新 版 , 目 前 是 7.0.21 ) , http://tomcat.apache.org/download70.cgi, ok, 相信大部分童鞋都是 windows 系统, 如 果 你 的 电 脑 是 32 位 , 选 择 32-bit Windows zip;64位则选择64-bit。

第二步:下载下来之后是一个解压包,直 接解压到你希望的地方,我的是 ; 好了,最后一步就是配置环境变量了,笔 者我相信你已经知道怎么进入环境变量配 置页面了,不过还是说一下,win7为例, 计算机-属性-高级系统设置-选择高级选 项卡-下面就是环境变量。

我们需要配置4个变量, CATALINA_HOME:F:\apache-tomcat-7 .0.21 CATALINA_BASE: F:\apache-tomcat-7.0.21 TOMCAT_HOME

F:\apache-tomcat-7.0.21 如果以前从没碰过什么 tomcat,4个变量 都是要新建的, (什么,才3个。。我擦, 。

别急啊) ,上面3个太简单了。

还有一个 ClassPath 的变量,前面安装过 jdk 的话,应该这个变量已经有了,直接 编 辑 , 在 classpath 变 量 的 最 后 加 上 servlet-api.jar 这个文件的路径,最后配 好 的 变 量 值 是 这 样 的

C:\Program Files\Java\jdk1.7.0\lib;.;%JAVA_HOME %\lib;F:\apache-tomcat-7.0.21\lib\ser vlet-api.jar 前 面 的 C:\Program Files\Java\jdk1.7.0\lib;.;%JAVA_HOME %\lib;是我的 jdk 的 classpath,恩。。总 。

之你要做的就是将 servlet-api.jar 路径加 上就行了。。

。(我好啰嗦。) 。,分号是用来 将各个路径隔开的。 那么,最后呢,我们测试一下自己的成果 吧,配了半天没点成果怎么行,呵呵。 看到上面的图了吧,找到 startup.bat 这 个文件,双击之后出现一个 dos 窗口, 如果最后一行是 xxxx in xxx ms 的话,应 该就没问题了。最后将一下网址复制粘贴 到 浏 览 器 地 址 栏 , http://localhost:8080/,配置没错的话, 会出现下图 好了,大功告成了,不过这才只是揭开了 我们学习 j2ee 的大门而已, 呵呵, 加油吧。

第一篇:tomcat,配置

如何安装配置 Tomcat 1 简介 Tomcat 是一个开源的 Serlvet 容器, 它是 Apache 基金会的 Jakarta 项目中的一个核心项目, 由 Apache,Sun 和其它一些公司及个人共同开发。由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规范总能在 Tomcat 中得到体现。

传统的桌面应用程序是一个 JAR Java Archive) ( 文件 , Tomcat 中的应用程序是一个 WAR 而 (Web Archive)文件。WAR 是 Sun 提出的一种 Web 应用程序格式,与 JAR 类似,也是许多文 件的一个压缩包。 2 下载 Tomcat 网址:http://jakarta.apache.org/tomcat/。

下面是 JakartaTomcat 网站首页。 以正式版本 5.5.20 为例。

下载二进制发行版(Binary Distributions) 。

选 Core

Windows Service Installer 下载。

Windows 版的版本为:apache-tomcat-5.5.20.exe。 3 安装 Tomcat 设置环境变量 请参考“JDK 的安装 Windows.doc”一文。运行:apache-tomcat-5.5.20.exe ? 双击 apache-tomcat-5.5.20.exe。 ? 单击“Next” 。 ? 单击“I Agree” 。 ? 选择 Full > Next。 ? 选择目的文件夹 D:\Program Files\Apache Software Foundation\Tomcat 5.5 > Next。 ? 给一个 password,其他保持默认 > Next。 ? 选择 Java 运行环境的路径 > Install,开始安装过程。 ? 等待安装过程结束。 ? Finish,运行 Apache Tomcat,显示 Readme。 察看安装好的 Tomcat 目录结构 其中

bin Tomcat 执行文件目录 common Tomcat 公用的库文件(JARS) conf Tomcat 配置文件 logs Tomcat 执行时的 LOG 文件 server Web 服务需要的文件 shared 共享文件 temp 临时文件 webapps Tomcat 的主要 Web 发布目录,用户开发的程序放在这里 work Tomcat 的工作目录,Tomcat 将翻译 JSP 文件得到的 Java 文件和 class 文件放在这里 j2ee 的相关部署规范 一般来说作为一个符合规范的 web 程序,会包括以下文件夹和文件:/WEB-INF/(主要是放 置一些配置文件与不希望外部程序访问的隐私文件) ,在网络上是不允许访问该文件夹的,如果输 入 http://localhost:8080/WEB-INF/就会出现错误。

在 WEB-INF 文件夹下有一个 web.xml 文件,这是对当前应用程序的相关设置,资源寻找等, /WEB-INF/文件夹下有个 classes 子文件夹,该文件夹是应用程序的根路径(等于是 classpath 的路径) ,/WEB-INF 下还要有个 lib 文件夹,主要是放置需要引入的包,应用程序导入的包先从 这里开始寻找,其次到容器的全局路径下$TOMCAT_HOME/common/lib 下寻找。

以下是基本文件夹: /tomcat /common /lib /classes /conf /webapps /ROOT web.xml /WEB-INF /lib /classes /你部署的程序包 web.xml /WEB-INF /lib /classes 4 测试 在浏览器地址栏键入 http://localhost:8080/ 看到 Tomcat 的 启动页面。 所使用的 Tomcat 服务器为 5.5.20 版,使用的 HTTP 端口为 8080。 HTML 页面测试 ? 创建一个 html 文件 Hello.html。 <!DOTTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>HTML 测试</TITLE> </HEAD> <BODY BGCOLOR="#FDF5E6"> <H1>HTML 测试</H1> 欢迎。

</BODY> </HTML> ? ? ? 在 Tomcat 的 webapps 下创建一个文件夹 myJSPServlet。

将 Hello.html 保存到文件夹 myJSPServlet 中。

在浏览器的地址栏输入 http://localhost:8080/myJSPServlet/Hello.html。 注意大小写:如果写成 http://localhost:8080/myJSPServlet/hello.html 就会出错。 JAP 页面测试 ? 创建一个 jsp 文件 Hello.jsp <!DOTTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>JSP 测试</TITLE> </HEAD> <BODY BGCOLOR="#FDF5E6"> <H1>JSP 测试</H1> 现在时间:<%= new java.util.Date() %> </BODY> </HTML> ? ? 将 Hello.jsp 保存到 myJSPServlet。

在浏览器的地址栏输入 http://localhost:8080/myJSPServlet/Hello.jsp 运行。 Servlet 测试 ? ? ? 在文件夹 myJSPServlet 下创建一个文件夹 WEB-INF。

在文件夹 WEB-INF 下创建一个文件夹 classes。

创建一个 Servlet 文件 HelloServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; /** Simple servlet used to test server. * <P> * Taken from Core Servlets and JavaServer Pages 2nd Edition * from Prentice Hall and Sun Microsystems Press, * /. * &copy; 2003 Marty Hall; may be freely used or adapted. */ public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + "Transitional//EN\">\n"; out.println(docType + "<HTML>\n" + "<HEAD><TITLE>Hello</TITLE></HEAD>\n" + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1>欢迎!</H1>\n" + "</BODY></HTML>"); } } ? ? 将 HelloServlet.java 保存到文件夹 classes 中。

将 HelloServlet.java 编译为 HelloServlet.class 文件。 D:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\myJSPServlet\WEB-INF\classes>javac HelloServlet.java HelloServlet.java:2

软件包 javax.servlet 不存在 import javax.servlet.*; ^ HelloServlet.java:3

软件包 javax.servlet.http 不存在 import javax.servlet.http.*; ^ HelloServlet.java:13

找不到符号 符号

类 HttpServlet public class HelloServlet extends HttpServlet { ^ HelloServlet.java:14

找不到符号 符号

类 HttpServletRequest 位置

类 HelloServlet public void doGet(HttpServletRequest request, ^ HelloServlet.java:15

找不到符号 符号

类 HttpServletResponse 位置

类 HelloServlet HttpServletResponse response) ^ HelloServlet.java:16

找不到符号 符号

类 ServletException 位置

类 HelloServlet throws ServletException, IOException { ^ 6 错误 出现错误!由于 servlet 和 JSP 不是 Java 平台 Java SE(标准版)的一部分,而是 Java EE (企业版)的一部分,因此,必须告知编译器 servlet 的位置。

? 解决“软件包 javax.servlet 不存在”错误的方法

1. 搜索 servlet-api.jar 所在文件夹:D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib 2. 将环境变量 CLASSPATH 的值设置为: .;D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar 3. 重新编译:javac HelloServlet.java,编译成功。

另外,你也可以使用下面的命令改变环境变量 CLASSPATH。 set CLASSPATH=.; D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar 但这种改变只是在系统关闭前有效,下次启动系统后还要在发布该命令,当然你也可以将该命 令写到自动批处理文件 autoexec.abt 中。

? 在文件夹 WEB-INF 中创建一个 web.xml 文件 <?xml version="1.0" encoding="GBK"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <!-- JSPC servlet mappings start --> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/helloservlet</url-pattern> </servlet-mapping> <!-- JSPC servlet mappings end --> </web-app> 上面的定义:servlet-class > servlet-name > /helloservlet,把 HelloServlet.class 转 换位 url 地址。

注意:因为服务器只在启动时读取 web.xml 文件,所以每次修改完 web.xml 文件后要重新启动 服务器。

? 在浏览器的地址栏输入 http://localhost:8080/myJSPServlet/helloservlet 运行。

运行正常,但中文显示乱码。

? 解决中文显示乱码的方法 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK"); response.setContentType("text/html; charset=GBK"); PrintWriter out = response.getWriter(); String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + "Transitional//EN\">\n"; out.println(docType + "<HTML>\n" + "<HEAD><TITLE>Hello</TITLE></HEAD>\n" + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1>欢迎!</H1>\n" + "</BODY></HTML>"); } } 注意红色的改变。

? 重新编译 ? 再执行 http://localhost:8080/myJSPServlet/helloservlet 运行还不正常,在浏览器中察看源代码,发现调用的还是修改前的。

这是因为,每次修改 Servlet 后都要重起 TOMCAT 服务器才可以使新的 Servlet 生效,否则 加载的是旧的 Servlet。

重新启动 TOMCAT 服务器

1. 双击右下角的 图标。 2. 停止 Tomcat 服务。 3. 启动 Tomcat 服务。 刷新 http://localhost:8080/myJSPServlet/helloservlet,运行正常。 不要每次修改 Servlet 后都重起 TOMCAT 服务器 启用 servlet 重新载入功能,可以避免每次修改 Servlet 后都要重起 TOMCAT 服务器。

启用这一功能之后,Tomcat 在调用被请求的 servlet 相对应的类文件时,检查类文件的修改 日期,并重新载入那些已载入服务器内存,但发生过改变的 servlet,这就免去了每次重新编译 servlet 之后重新启动服务器。在实际部署环境下,启用这项功能会影响性能,所以默认情况下, 它是关闭的。

1. 打开:install_dir/conf/server.xml 2. 在</Host>前面插入下面的行: <Defaultcontext reloadable="true"/> 3. 重新启动 Tomcat. Servlet 包测试 ? ? 在 class 下面新建一个文件夹 coreservlets 在 coreservlets 中创建一个 Servlet 文件 HelloServlet2.java package coreservlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK"); response.setContentType("text/html; charset=GBK"); PrintWriter out = response.getWriter(); String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + "Transitional//EN\">\n"; out.println(docType + "<HTML>\n" + "<HEAD><TITLE>Hello 欢迎 (2)</TITLE></HEAD>\n" + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1>Hello 欢迎 (2)</H1>\n" + "</BODY></HTML>"); } } ? 编译 HelloServlet2.java >cd coreservlets >javac HelloServlet2.java ? 在 web.xml 文件中添加 <servlet> <servlet-name>HelloServlet2</servlet-name> <servlet-class>coreservlets.HelloServlet2</servlet-class> </servlet> <servlet-mapping>作文; <servlet-name>HelloServlet2</servlet-name> <url-pattern>/helloservlet2</url-pattern> </servlet-mapping> ? 执行 http://localhost:8080/myJSPServlet/helloservlet2 Servlet 调用 Java Bean 测试 ? 在 coreservlets 中创建一个 Java Bean 文件 ServletUtilities.java package coreservlets; import javax.servlet.*; import javax.servlet.http.*; public class ServletUtilities { public static final String DOCTYPE = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + "Transitional//EN\">"; public static String headWithTitle(String title) { return(DOCTYPE + "\n" + "<HTML>\n" + "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n"); } public static int getIntParameter(HttpServletRequest request, String paramName, int defaultValue) { String paramString = request.getParameter(paramName); int paramValue; try { paramValue = Integer.parseInt(paramString); } catch(NumberFormatException nfe) { // null or bad format paramValue = defaultValue; } return(paramValue); } public static double getDoubleParameter (HttpServletRequest request, String paramName, double defaultValue) { String paramString = request.getParameter(paramName); double paramValue; try { paramValue = Double.parseDouble(paramString); } catch(NumberFormatException nfe) { // null or bad format paramValue = defaultValue; } return(paramValue); } public static String filter(String input) { if (!hasSpecialChars(input)) { return(input); } StringBuffer filtered = new StringBuffer(input.length()); char c; for(int i=0; i<input.length(); i++) { c = input.charAt(i); switch(c) { case '<'

filtered.append("&lt;"); break; case '>'

filtered.append("&gt;"); break; case '"'

filtered.append("&quot;"); break; case '&'

filtered.append("&amp;"); break; default

filtered.append(c); } } return(filtered.toString()); } private static boolean hasSpecialChars(String input) { boolean flag = false; if ((input != null) && (input.length() > 0)) { char c; for(int i=0; i<input.length(); i++) { c = input.charAt(i); switch(c) { case '<'

flag = true; break; case '>'

flag = true; break; case '"'

flag = true; break; case '&'

flag = true; break; } } } return(flag); } } ? ? 编译 ServletUtilities.java >javac ServletUtilities.java 在 coreservlets 中创建一个 Servlet 文件 HelloServlet3.java package coreservlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; /** Simple servlet for testing the use of packages * and utilities from the same package. * <P> * Taken from Core Servlets and JavaServer Pages 2nd Edition * from Prentice Hall and Sun Microsystems Press, * /. * &copy; 2003 Marty Hall; may be freely used or adapted. */ public class HelloServlet3 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = "Hello (3)"; out.println(ServletUtilities.headWithTitle(title) + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1>" + title + "</H1>\n" + "</BODY></HTML>"); } } ? 编译 HelloServlet3.java >javac HelloServlet3.java 出现编译错误: HelloServlet3.java:23

找不到符号 符号

变量 ServletUtilities 位置

类 coreservlets.HelloServlet3 out.println(ServletUtilities.headWithTitle(title) + ^ 1 错误 这是因为包中的 servlet 使用了包中其他的类,在编译时会得到“Unresolved symbol”错 误消息。简单的解决方法,退后一层目录再编译。 >cd.. >javac coreservlets\HelloServlet3.java 解决该问题的另一个办法是将开发目录:D:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\myJSPServlet\WEB-INF\classes\coreservlets 加入到 CLASSPATH 中。

? 在 web.xml 文件中添加 <servlet> <servlet-name>HelloServlet3</servlet-name> <servlet-class>coreservlets.HelloServlet3</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet3</servlet-name> <url-pattern>/helloservlet3</url-pattern> </servlet-mapping> ? 执行 http://localhost:8080/myJSPServlet/helloservlet3 WAR 打包文件测试 使用打包的单个大文件比许多小文件更易于管理。

WAR 文件实际上是以.war 为扩展名的 JAR 文件,我们使用通常的 jar 命令来创建它。

当前位置 D:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps。

当前目录下所有文件打包 将整个 myJSPServlet 打包到 WAR 文件 testApp 中。 >cd myJSPServlet >jar cvf myHello.war * 打包过程: 标明清单(manifest) 增加:aaa.txt(读入= 187) (写出= 172)(压缩了 8%) 增加:Hello.html(读入= 187) (写出= 137)(压缩了 26%) 增加:Hello.jsp(读入= 216) (写出= 170)(压缩了 21%) 增加:WEB-INF/(读入= 0) (写出= 0)(存储了 0%) 增加:WEB-INF/classes/(读入= 0) (写出= 0)(存储了 0%) 增加:WEB-INF/classes/coreservlets/(读入= 0) (写出= 0)(存储了 0%) 增加:WEB-INF/classes/coreservlets/HelloServlet2.class(读入= 1198) (写出= 700)( 压缩了 41%) 增加:WEB-INF/classes/coreservlets/HelloServlet2.java(读入= 1059) (写出= 565)(压 缩了 46%) 增加:WEB-INF/classes/coreservlets/HelloServlet3.class(读入= 1065) (写出= 592)( 压缩了 44%) 增加:WEB-INF/classes/coreservlets/HelloServlet3.java(读入= 908) (写出= 489)(压 缩了 46%) 增加:WEB-INF/classes/coreservlets/ServletUtilities.class(读入= 2042) (写出= 109 2)(压缩了 46%) 增加:WEB-INF/classes/coreservlets/ServletUtilities.java(读入= 3629) (写出= 1311 )(压缩了 63%) 增加:WEB-INF/classes/coreservlets.war(读入= 1175) (写出= 983)(压缩了 16%) 增加:WEB-INF/classes/HelloServlet.class(读入= 1175) (写出= 688)(压缩了 41%) 增加:WEB-INF/classes/HelloServlet.java(读入= 1018) (写出= 540)(压缩了 46%) 增加:WEB-INF/classes/HelloServlet.java.bak(读入= 964) (写出= 515)(压缩了 46%) 增加:WEB-INF/classes/HelloServlet.java.bak1(读入= 1011) (写出= 548)(压缩了 45%) 增加:WEB-INF/classes/web.xml(读入= 973) (写出= 291)(压缩了 70%) 增加:WEB-INF/web.xml(读入= 1328) (写出= 378)(压缩了 71%) 将打包文件 myHello.war 移动到上一级目录 webapps 中。

重启服务器。

这时,你会看到 Tmocat 会自动解压 myHello.war,生成一个与 testApp 结构相同的文件夹 testApp2。即使你将 testApp2 文件夹删除 Tmocat 还会再自动创建一个 estApp2 文件夹。

运行 testApp2 文件夹下面的 servlet 与运行 testApp 文件夹下的 servlet 相仿,例如

http://localhost:8080/myHello/helloservlet3 ? ?

第一篇:tomcat,配置

TOMCAT 配置资料 目 录 ? ? ? ? ? ? ? ? ? ? ? ? 简介 安装及运行配置 运行 TOMCAT目录结构 TOMCAT服务器设置(Server.xml) TOMCAT管理设置 设置连接池(Context.xml) TOMCAT应用程序列表 TOMCAT重载设置 TOMCAT部署应用程序 TOMCAT限制主机访问 中文编码问题 简 介 ? ? TOMCAT是jakarta项目中的一个重要的子 项目,同时是SUN公司官方推荐的Servlet 和JSP容器,因此其越来越多的受到软件公 司和开发人员的喜爱。Servlet和JSP的最新 规范都可以在TOMCAT的新版本中得到实现。

公司ERP系统将配置到服务器上与TOMCAT 整合部署使用 TOMCAT安 装 ? ? ? 安装TOMCAT使用Servlet容器Catalina,完整 的实现了Servlet2. 5和jsp2.1规范。注意安装之 前你的系统必须安装了JDK1.4以上版本。

TOMCAT6.0下载地址

http://tomcat.apache.org/download-60.cgi JDK1.6下载地址

http://java.sun.com/javase/downloads/ind ex.jsp TOMCAT安装及运行配置 ? TOMCAT的安装包分为解压缩包型和EXE运行包类型 ? ERP部署的服务器系统为WIN SERVER2003,在WINDOWS系统 下双击下载的TOMCAT安装文件(EXE型),按照提示信息输入即可 完成安装,在安装过程中会自动寻找你的JDK和JRE的位置 修改Tomcat的JDK目录(解压缩包型) 打开tomcat/bin/catalina.bat 在最后一个rem后面增加 SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0 修改startup.bat文件:在第一行前面加入如下两行-- SET JAVA_HOME=JDK目录 SET CATALINA_HOME=前面解压后Tomcat的目录 如果需要使用shutdown.bat关闭服务器的话,也按照上面加入两行。 ? ? ? ? 这样,运行startup.bat就可以运行服务器,运行shutdown.bat就 可以关闭服务器了。 TOMCAT安装及运行配置 ? 三 将Tomcat加入服务(解压缩版) 1、修改bin目录中的service.bat

REM 添加下面的一行 set CATALINA_HOME=%cd% 如果从来没有安装过Tomcat,或者保证Services.msc启动服务管理器检查没有 Apache Tomcat系统服务,到此你就可以转到第二步了。否则继续往下走-- REM 按照描述修改下面的几行 set SERVICE_NAME=Tomcat5 REM 上面一行,Tomcat5修改成你需要的服务名,这个将是一后使用net start/stop 来操作的服务名称。

set PR_DISPLAYNAME=Apache Tomcat REM 上面一行,Apache Tomcat改为你需要的显示服务名,这个将显示在服务管理 器中。

set PR_DESCRIPTION=Apache Tomcat Server http://jakarta.apache.org/tomcat REM 这一行改不改无所谓,是服务的描述,根据自己的喜好决定吧。

2、运行cmd打开控制台,进入Tomat目录/bin文件夹,输入如下命令运行。

service.bat install 程序提示:The service 'Tomcat5(或者你修改一后的SERVICE_NAME)' has been installed 说明服务Tomcat已经被安装成功。

顺便说一下,运行service.bat remove可以移除服务。

3、到这里,服务添加成功,运行services.msc,可以看到添加的服务,默认状态下 该服务是手动运行的,在他的属性中,将启动类型更改为“自动”,以后机器启动以 后Tomcat就在后台启动了。 TOMCAT安装及运行配置 ? 配置Tomcat的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境 变量(N)”。

新建系统变量CATALINA_HOME:D:\jakarta-tomcat-6.0.20 在系统变量CLASSPATH的值的后面加入

%CATALINA_HOME%\common\lib; 在系统变量Path的值中"%JAVA_HOME%\bin;"的后面加入以下内容

%CATALINA_HOME%\bin; 到这里,Tomcat安装完毕。

进行完一、二两步的设置以后,各系统变量的值如下: JAVA_HOME:C:\Program Files\Java\jdk1.6.0_06 CATALINA_HOME:D:\jakarta-tomcat-6.0.20 CLASSPATH:.;%JAVA_HOME%\lib;%CATALINA_HOME%\common\lib; Path:%JAVA_HOME%\bin;%CATALINA_HOME%\bin;%SystemRoot%\syst em32;%SystemRoot%;%SystemRoot%\System32\Wbem 运 ? ? 行 设置完毕后就可以运行TOMCAT服务器了 WIN98下进入TOMCAT的bin目录,用startup启动tomcat,相应的关闭 tomcat的命令为shutdown 控制台控制服务的命令 启动服务 net Start TOMCAT6 关闭服务 net stop TOMCAT6 ? ? 在WIN SERVER 2003/XP系统下 直接点击开始菜单中选择Apache Tomcat6.0下的Monitor Tomcat,或者双击任务栏小图标,选择 GERNERAL选项卡下的START,即可启动TOMCAT6.0,反之点击STOP,即 可关闭TOMCAT服务器 启动后可以在浏览器中输入http://localhost:8080测试,由于现在下载的 TOMCAT本身集成了web服务器的功能,因此我们不必安装Apache,单独 的TOMCAT与Apache组合使用 ? TOMCAT目录结构 TOMCAT的目录结构如下

目录名 简介 ? bin 存放启动和关闭TOMCAT脚本 ? conf 包含不同的配置文件,server.xml(Tomcat 的主要配置文件)和web.xml ? work 存放JSP编译后产生的class文件 ? webapps 存放应用程序示例,以后你要部署的 应用程序也要放到此目录 ? logs 存放日志文件 ? lib/japser/common 这三个目录主要存放 TOMCAT所需的jar文件 server.xml配置 元素名 Server 属性 port shutdown 解释 指定一个端口,这个端口负责监听关闭tomcat 的请求 指定向端口发送的命令字符串 注:port指定Tomcat监听shutdown命令 端口.终止服务器运行时,必须在Tomcat服务 器所在的机器上发出shutdown命令.该属性 是必须的.shutdown指定终止Tomcat服务 器运行时,发给Tomcat服务器的shutdown 监听端口的字符串.该属性必须设置 Service <包含于Server> name 指定service的名字 文 档 结 构 <Server> <Service> <Connector/> <Engine> <Host> <Context/> </Host> </Engine> </Service> </Server> Server.xml配置 Connector<包含于SERVICES> port (表示客户端和service之间的连接) port 指定服 务器端要创建的端口号,并在这个端口监听来 自客户端的请求 端口信息封装的协议 protocol minProcessors 服务器启动时创建的处理请求的线程数 maxProcessors 最大可以创建的处理请求的线程数 enableLookups 如果为true,则可以通过调用 request.getRemoteHost()进行DNS查询来得到 远程客户端的实际主机名,若为false则不进行 DNS查询,而是返回其ip地址 指定服务器正在处理http请求时收到了一个 SSL传输请求后重定向的端口号 指定当所有可以使用的处理请求的线程数都被 使用时,可以放到处理队列中的请求数,超过 这个数的请求将不予处理 指定超时的时间数(以毫秒为单位) redirectPort acceptCount connectionTimeout 修改端口号 ? 打开server.xml文件,查找到 <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> <Connector className="org.apache.coyote.tomcat4.CoyoteConne ctor" port="8080" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" /> 将其中的8080,改成80,然后重启tomcat,本机使用 http://localhost即可访问。

注:其他版本,查找相应的8080,然后修改。 Server.Xml配置 Engine<包含于SERVICES> (表示指定service中的请求处理机,接收和处 理来自Connector的请求) defaultHost 指定缺省的处理请求的主机名,它至少与其中 的一个host元素的name属性值是一样的 Context<包含于Host> (表示一个web应用程序,通常为WAR文件, 关于WAR的具体信息见servlet规范) docBase 应用程序的路径或者是WAR文件存放的路径 path path 表示此web应用程序的url的前缀,这样 请求的url为 http://localhost:8080/path/**** 这个属性非常重要,如果为true,则tomcat会 自动检测应用程序的/WEB-INF/lib 和 /WEB-INF/classes目录的变化,自动装 载新的应用程序,我们可以在不重起 tomcat的情况下改变应用程序 reloadable 修改发布目录 ? ? 例如将d:\test目录作为自己的文档发布目录,并指定mytest 为http访问的相对目录(本机即 http://localhost:8080/mytest)。

同上要修改server.xml文件,找到 <!-- Tomcat Root Context --> <!-<Context path=“” docBase=“ROOT” debug=“0”/> --> 去掉注释,或者将已经屏蔽掉的<Context path=“” docBase=“ROOT” debug=“0”/> 复制到下面的空白处。

根据例子中的要求,修改这段文本如下

<Context path="/mytest" docBase="d:\test" debug="0"/> 然后重启tomcat,本机即可通过 http://localhost/mytest来访问放在d:\test目录下的JSP文 件。 Server.xml配置 Host<包含于Engine> (表示一个虚拟主机) name 指定主机名 appBase 应用程序基本目录,即存放应用程序的目录 unpackWARs 如果为true,则tomcat会自动将WAR文件解 压,否则不解压,直接从WAR文件中运行应 用程序 (表示日志,调试和错误信息) Logger<包含于Server> className 指定logger使用的类名,此类必须实现 org.apache.catalina.Logger 接口 指定log文件的前缀 prefix suffix 指定log文件的后缀 timestamp 如果为true,则log文件名中要加入时间,如下 例:localhost_log.2001-10-04.txt Server.xml配置 Realm<包含于Engine> (表示存放用户名,密码及role的数据库) className 指定Realm使用的类名,此类必须实现 org.apache.catalina.Realm接口 Valve (功能与Logger差不多,其prefix和suffix属性 解释和Logger 中的一样) className 指定value,如用 org.apache.catalina.valves.AccessLogVa lve类可以记录应用程序的访问信息 directory 指定log文件存放的位置 pattern 有两个值,common方式记录远程主机名或ip 地址,用户名,日期,第一行请求的字 符串,HTTP响应代码,发送的字节数。

combined方式比common方式记录的值 更多 TOMCAT 管理配置 tomcat-user.xml ? 在进行具体的管理之前,我们先给tomcat添加一个用户,使这个用 户有权限来进行管理。

打开conf目录下的tomcat-users.xml文件,在相应的位置添加下面 一行: ? ? ? <role rolename="admin"/> <user name="zf" password="zf" roles="standard,admin"/> 注意:这一行的最后部分一定是/>,tomcat的文档掉了/符号,如果 没有/符号的话,tomcat重起时将无法访问应用程序。通过 logs/catalina.out文件你可以看到这个错误的详细信息。 ? TOMCAT设置连接池 ? ? ? web容器会自动建立一定数量的连接。当应用获取连接时,就 相当于从连接池中获取一个已经建立好的连接来使用,并不是 建立新的连接。当应用程序关闭连接时,就是把这个连接又放 回到连接池中,并没有真正的与数据库断开连接。

方法一

经所引用的数据库驱动包放到tomcat的lib文件下。 TOMCAT设置连接池 ? ? ? ? ? ? ? ? ? ? 修改context.xml 文件 在context节点中加入 <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" maxActive="4" maxIdle="10" maxWait="5000" username="scott" password="tiger" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.0.199:1521:udare" /> 参数说明

driveClassName:JDBC驱动类的完整的名称; maxActive:同时能够从连接池中被分配的可用实例的最大数; maxIdle:可以同时闲置在连接池中的连接的最大数; maxWait:最大超时时间,以毫秒计; password:用户密码; url:到JDBC的URL连接; user:用户名称; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3 :在自己的webapps下修改web.xml TOMCAT设置连接池 在web-app标签之间加入

<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> TOMCAT设置连接池 ? 方法二

将jdbc驱动程序拷贝到Tomcat的lib目录下,否则会找不到驱动 假设web应用根目录为WebRoot。

在WebRoot下面建文件夹META-INF,里面建一个文件 context.xml,内容如下

<Context> <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true" username="root" password="111111" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/testdb" /> </Context> ? ? TOMCAT设置连接池 ? 方法三

在配置虚拟目录时,也就是在配置conf下面的server.xml时,在 context标签内改成如下形式

<Context path="/WebRoot" reloadable="true" docBase="E:\workspace\DataSource\WebRoot" > <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true" username="root" password="111111" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/testdb" /> </Context> ? ? TOMCAT 应用程序列表 ? 在浏览器中输入http://localhost:8080/manager/list,浏览器将 会显示如下的信息

分别为应用程序的路径,当前状态(running 或者stopped),与这个 程序相连的session数。

OK - Listed applications for virtual host localhost /:running:0:ROOT /manager:running:0:E:/PS/Tomcat 5.5/server/webapps/manager /webdav:running:0:webdav /servlets-examples:running:0:servlets-examples /tomcatdocs:running:0:tomcat-docs /hostmanager:running:0:E:/PS/Tomcat 5.5/server/webapps/host-manager /jspexamples:running:0:jsp-examples /balancer:running:0:balancer /myapp:running:0:myapp /admin:running:1:E:/PS/Tomcat 5.5/server/webapps/admin ? TOMCAT 重载应用 ? 重新装载应用程序 在浏览器中输入 http://localhost:8080/manager/reload?path=/examples , 浏览器显示如下

OK - Reloaded application at context path /examples ? 表示example应用程序装载成功,如果我们将server.xml的 Context元素的reloadable属性设为true(见上面表格),则没必要利 用这种方式重新装载应用程序,因为tomcat会自动装载。 显示session信息 在浏览器中输入 http://localhost:8080/manager/sessions?path=/examples, 浏览器显示如下

OK - Session information for application at context path /examples Default maximum session inactive interval 30 minutes ? TOMCAT 部署应用程序操作 ? ? 启动和关闭应用程序 在浏览器中输入http://localhost:8080/manager/start?path=/examples和 http://localhost:8080/manager/stop?path=/examples分别启动和关闭 examples应用程序。

部署及撤销部署 WAR有两种组织方式,一种是按一定的目录结构组织文件,一种是一个后缀为WAR的 压缩包,因此它的部署方式也有两种

(1):在浏览器中输入

http://localhost:8080/manager/install?path=/examples&war=file:/c:exam ples 就会将按目录结构组织的WAR部署 (2):如果输入

http://localhost:8080/manager/install?path=/examples&war=jar:file:/c

examples.war!/ 就会将按压缩包组织的WAR部署,注意此url后半部分一定要有!/号。

部署后就可以用 http://localhost:8080/examples 访问了。

在浏览器中输入:http://localhost:8080/manager/remove?path=/examples 就会撤销刚才部署的应用程序。 ? ? ? ? ? ? ? ? ? 限制IP,限制主机访问 ? 如果想禁止指定的ip或者主机名来拒绝某些机器访问,或者指定某些 机器来访问。

也支持分别按Engine, Host, or Context,进行以下配置

<Context path="/examples" ...> ... <Valve className="org.apache.catalina.valves.RemoteHostValve" allow="*.mycompany.com,www.yourcompany.com"/> <Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.1.*"/> </Context> ? 中文问题 ? 一般JSP的乱码问题可以通过在JSP中加入<%@ page contentType=“text/html;charset=GB2312” %>来 解决 至于servlet的乱码在可以使用servlet2.3中提供的 HttpServeletRequest.setCharacterEncoding函数。

配置tomcat支持URL中文参数,只需添加Connector的 URIEncoding参数即可,默认情况下该参数未被配置。

要支持URL参数支持中文,加上URIEncoding="GBK" 就行了. ? ?

tomcat,配置》出自:金链花美文网
链接地址:http://www.nongyeqq.com/content/ZpPSwO2nbWUIDmFz.html

网站地图 | 关于我们 | 联系我们 | 广告服务 | 免责声明 | 在线留言 | 友情链接 | RSS 订阅 | 热门搜索
版权所有 金链花美文网 www.nongyeqq.com

tomcat,配置