跳至主要內容

Tomcat安装与配置

wangdx大约 7 分钟

Tomcat 简介

Tomcat

Tomcat 是由 Apache 软件基金会维护的一款开源的符合 JavaEF 运行标准的 WEB 服务器,基于 NIO 实现服务端开发。所以 Tomcat 不仅可以满足于 JavaWEB 程序的运行,同时也提供了良好的网络 IO 处理性能,被各个互联网公司广泛使用。

Tomcat 直接使用了 JDK1.4 开始提供的 NIO 模型基于 I0 多路复用设计结构实现请求处理

Tomcat 与 WEB 容器

Tomcat 内部提供了最为核心的 WEB 容器实现,开发者可以将自己所编写的“*.java”,“*.jsp”程序直接放到 WEB 容器后就会自动的由 WEB 容器加载并执行,同时利用 WEB 容器可以非常方便的使用 JavaEE 中的各种服务(例如:JDBC 服务连接 SQL 数据库)。但是需要注意的是在一个服务器中容器只是其一个组成部分,而除了容器之外也包含有其他相关技术,例如:JTA 事务处理、线程池、数据库连接池、WEB 管理工具、https 证书配置等相关内容。

Tomcat 下载

开发者可以直接登录 Apache 官网上的 tomcat 项目首页(http://tomcat.apache.org/),随后找到所需要下载的Tomcat版本即可

安装

Tomcat 解压缩

Tomcat 是通过 Java 编写的服务器组件,本身具有良好的跨平台型,如果开发者要使用 Tomcat 进行项目开发,直接将其进行解压缩处理即可,本次为了方便将 Tomcat 解压缩到了 D 盘根路径之中,完整路径为: D:\tomcat;

配置

端口

Tomcat 启动后如果开发者需要进行本机 WEB 服务访问,那么直接输入“http://localhost:8080”即可,而如果是当前运行的 Tomcat 是一台分配了 IP 的公网服务器,则远程用户直接输入服务器的 IP 地址(http://ip 地址:8080)也可以访问当前的 WEB 服务

修改 Tomcat 运行端口号

虚拟目录

Tomcat 启动之后用户就可以直接通过浏览器进行访问,所有的程序一定要整合到 Tomcat 之中才可以正常执行,Tomcat 为了便于这样的整合操作提供了虚拟目录的配置,每一个虚拟目录都是一套独立且完整的 WEB 项目。

配置方法一

在“${TOMCAT HOME}/webapps”目录中创建虚拟目录,此时该目录会自动被 Tomcat 识别,使用者在览器访问地址中直接输入目录名称即可访问

配置方法二

在磁盘的任意路径下配置一个虚拟目录,而后修改"${ITOMCAT HOME}/conf/server.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>

JSP 编程起步

<html>
<head>
	<title>www.yootk.com</title>
</head>
<body>
<%	// 与HTML代码的区分主要依靠此标记
	out.println("<h1>www.yootk.com</h1>");	// 通过Java控制HTML代码的输出
	out.println("<script type='text/javascript'>");
	out.println("	console.log('www.yootk.com')");
	out.println("</script>");
%>
</body>
</html>

Tomcat 执行流程

JSP 执行流程

当用户编写完成了一个“hello.jsp”程序并且成功运行之后会发现一个非常有意思的现象:第一次执行的速度较慢,之后执行的速度较快之所以会出现这样的问题,是因为在 Tomcat 内部需要将 isp 程序转为 iava 源代码,最后再自动编译为*.class 文件。

Tomcat 内存调整

在 Tomcat 运行期间,所有的程序都是基于 JVM 进程运行的而在默认情况下系统会为 JVM 进程最多分配物理内存的“1/4”,初始化的内存大小为“1/64”,每个线程的内存大小为“1M”,这样就有可能引发程序执行的性能问题,那么在使用前就必须对 Tomcat 内存参数进行调整

<html>
<head>
	<title>www.yootk.com</title>
</head>
<body>
<%	// 与HTML代码的区分主要依靠此标记
	out.println("<h1>MAX_MEMORY = " + Runtime.getRuntime().maxMemory() + "</h1>");
	out.println("<h1>TOTAL_MEMORY = " + Runtime.getRuntime().totalMemory() + "</h1>");
%>
</body>
</html>
SET "JAVA_OPTS=%JAVA_OPTS% -Xmx10g -Xms10g -Xss256k -Xlog:gc*"
  • -Xmx10g 设置 Tomcat 的最大可用内存,本次设置的大小为 10G
  • “-Xms10g”:设置 Tomcat 的初始化内存,初始化内存一般与最大内存相同,此处为 10G;
  • “-Xss256k”:配置每个线程的内存大小为 256K:
  • “-Xlog:gc*”:打印 GC 处理日志。

WEB 交互性

动态 WEB

动态 WEB 程序的最大特点在于数据的交互性,即:客户端向服务器端发送数据,服务器端可以根据客户端的数据请求进行相应的数据处理

参数接收

使用 JSP 提供的 request 内置对象完成,该对象中提供有一个 getParameter()”方法: public String getParameter(String paramName)

<html>
  <head>
    <title>沐言科技:www.yootk.com</title>
    <meta charset="UTF-8" />
  </head>
  <body>
    <form action="input_do.jsp" method="post">
      请输入信息:<input type="text" name="msg" value="www.yootk.com" /><br />
      <input type="submit" value="发送" />
    </form>
  </body>
</html>
<html>
<head>
	<title>www.yootk.com</title>
</head>
<body>
<%	// 与HTML代码的区分主要依靠此标记
	String paramMsg = request.getParameter("msg"); // msg是表单的名称
	out.println("<h1>" + paramMsg + "</h1>");
%>
</body>
</html>

IDEA 开发 WEB 项目

IDEA 配置

配置 JDK

次的图书是基于 JDK-11 版本进行讲解的,所以首先需要对当前系统中的 JDK 进行配置,将 JDK11 版本加入到 IDEA 工具之中

项目全局配置

项目“Project"配置界面中配置默认的 JDK 版本以及语言版本

创建 Java 模块

通过项目结构管理工具创建一个新的 Java 模块

定义模块

输入新建的模块名称为“yootkweb”,并配置好其保存路径

添加 WEB 支持

此时创建完成了一个 Java 模块,但是这个时候该模块还不具备 WEB 程序的开发支持,需要为项目添加相应的 WEB 支持环境

创建 JSP 文件

模块创建完成后可以发现存在有两个程序目录 “src”:保存与 Java 相关的程序文件(*.java 文件) “web” :保存与 WEB 相关的程序文件(*.htm1、*.jsp、图片等)

整合 Tomcat

 <welcome-file-list>
        <welcome-file>hello.jsp</welcome-file>
        <welcome-file>muyan.jsp</welcome-file>
        <welcome-file>yootk.html</welcome-file>
    </welcome-file-list>

IDEA 运行配置

WEB 项目开发完成之后可以直接利用 IDEA 进行测试,这样就需要在 IDEA 内部进行项目的部署与 Tomcat 启动,而要想实现这样的需求,真就需要在 IDEA 中引用外部 Tomcat 主日录中的相关配置文件

Tomcat 配置

进入程序运行界面

添加本地 Tomcat 配置

配置 Tomcat 运行环境

要求开发者输入运行项的名称,本次设置为“Yootk-Tomcat",选择运行的应用服务器,如果是第一次配置,则 可以通过“Configure”找到 Tomcat 的主目录,这样就会自动读取 Tomcat 相关配置

Tomcat 部署项目

Tomcat 服务器配置完成后就需要进行项目部署处理,现在所署的项目就是当前 IDEA 工作区中的项目模块“yootkweb'

IDEA 内部启动 Tomcat

配置完成后就会自动的在运行项中出现 Tomcat 的形式,直接启动此运行模式即可实现 Tomcat 启动,由于已经配置了 Tomcat 启动后自动启动浏览器运行

WEB 代码调试

<html>
<head>
	<title>www.yootk.com</title>
</head>
<body>
<%	// 与HTML代码的区分主要依靠此标记
	out.println("<h1>www.yootk.com</h1>");	// 通过Java控制HTML代码的输出
	out.println("<script type='text/javascript'>");
	out.println("	console.log('www.yootk.com')");
	out.println("</script>");
%>
</body>
</html>

配置断点

打开 hello.isp 页面,在需要设置断点左边的空白处单击鼠标左键即可实现断点定义

调试模式

如果要想使断点生效,则需要以调试模式启动 Tomcat

上次编辑于: