Windows10上Tomcat 9安装与配置
一、Tomcat下载
首先打开Tomcat官网:Tomcat官网
Apache Tomcat®是Jakarta EE(正式的Java EE)技术的一个子集的开源软件实现。不同版本的Apache Tomcat可用于不同版本的规范。规范和相应的Apache Tomcat版本之间的映射是:Apache Tomcat Version兼容的Java Versions
进入官网后如下图所示,选择你所想要安装的版本,Tomcat 10.0现在已经到了生命周期的尽头。Tomcat 10.0.x 的用户应该 升级到 Tomcat 10.1.x 或更高版本。Tomcat 10.1.x 需要java11及更高版本,我这边预装的java8,在此选择安装Tomcat 9版本,点击Tomcat 9,tomcat9文档
点击下图所示红框处开始下载,笔者此处选择的是绿色版下载(即下载完成之后需要自行配置环境变量),至于其余选项另行百度
1.1 Tomcat之前版本安装
目前下载的Tomcat 9最新版本为apache-tomcat-9.0.79-windows-x64.zip,若想要安装Tomcat 9之前的版本,我们在进入Tomcat 9下载界面后点击Archives档案室(其他版本同理)
例如我们想要下载9.0.8版本,我们下划找到此版本并点击
点击bin/目录
点击下图所示红框处开始下载,笔者此处选择的是绿色版下载(即下载完成之后需要自行配置环境变量),至于其余选项未来再补充,这样Tomcat 9以前版本压缩包就开始下载了。
下载完成后将压缩包解压至你想要放置的地方,我在此将压缩包解压至D盘
目录结构:
目录介绍如下:
bin:二进制执行文件。里面最常用的文件是startup.bat,如果是 Linux 或 Mac 系统启动文件为 startup.sh。
conf:配置目录。里面最核心的文件是server.xml。可以在里面改端口号等。默认端口号是8080,也就是说,此端口号不能被其他应用程序占用。
lib:库文件。tomcat运行时需要的jar包所在的目录
logs:日志
temp:临时产生的文件,即缓存
webapps:web的应用程序。web应用放置到此目录下浏览器可以直接访问
work:编译以后的class文件。
二、配置环境变量
解压完成后,开始配置系统变量,右击此电脑—>点击属性—>点击高级系统设置—>点击环境变量—>在系统变量栏下的操作如下:
操作 | 系统变量名 | 变量值 | 注意 |
---|---|---|---|
新建 | CATALINA_BASE | D:\apache-tomcat-9.0.79 | 变量值须到tomcat的安装文件夹,不要到bin目录 |
新建 | CATALINA_HOME | D:\apache-tomcat-9.0.79 | 变量值须到tomcat的安装文件夹,不要到bin目录 |
编辑 | Path | %CATALINA_HOME%\lib | |
编辑 | Path | %CATALINA_HOME%\bin |
进入cmd界面—>输入D:或者d:进入D盘—>输入cd D:\apache-tomcat-9.0.79\bin进入指定目录—>输入service.bat install指令安装 (附:service卸载命令:service.bat remove)
d:
cd D:\apache-tomcat-9.0.79\bin
service.bat install
执行完安装指令后如下图所示
tomcat 10.1.12
三、启动Tomcat
启动Tomcat: 在命令行中进入Tomcat的bin目录,然后运行statup.bat (Windows) 或startup.sh (Linux) 来启动Tomcat。
在tomcat解压路径下的bin文件夹内双击打开"tomcat9w.exe",在打开的软件界面点击“Start”即可。当我们看到Service Status:的值为Started时,表明Tomcat已经启动成功。
同理,我们可以点击Stop来关闭Tomcat,当Service Status:的值为Stopped时,表明Tomcat已经关闭。
四、端口
打开Tomcat目录中的conf目录,找到 server xm文件。在该文件中,您可以更改Tomcat使用的HTTP端口(默认为8080) 和HTTPS端口 (默认为8443) 。
五、测试Tomcat是否启动成功
在浏览器地址栏输入http://localhost:8080/,若出现下图界面,则为Tomcat启动成功。
tomcat 10.1.12
OK! 安装成功!
六、部署web应用
在D:\ProgramFiles\Tomcat 9.0\webapps\ROOT 目录下新建test.jsp文件,代码如下:
<%@ page contentType="text/html;charset=UTF-8" %>
<% out.print("zc自学教程 : https://www.zc.com"); %>
开启之后,打开浏览器,输入“http://localhost:8080/test.jsp”,成功的话会显示一下的画面:
七、关联Tomcat和Eclipse
Eclipse J2EE下载后,解压即可使用,我们打开Java EE ,选择菜单栏,弹出如下界面:
各个目录解析:
deployment descriptor:部署的描述。
Web App Libraries:自己加的包可以放在里面。
build:放入编译之后的文件。
webapp:放进写入的页面。
在webapp文件夹下新建一个test.jsp文件,代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>zc自学教程</title>
</head>
<body>
<%
out.println("Hello World!");
%>
</body>
</html>
程序运行之前,我们先修改一下浏览器选项:
接着我们运行该项目:
运行时,弹出如下错误:(如果没有此错误,请忽略),原因是,我们之前开启了Tomcat服务器,这明显是多余的,因为程序运行时,eclipse会自动开启Tomcat服务器。所以我们先手动关掉tomcat软件,再次运行程序,就行了,或者修改Tomcat 端口。
报错:解决在eclipse 项目TomcatTest中使用Tomcat运行Jsp文件时,出现“the server cannot be started because one or more of the ports are invalid. open the server editor and correct the invalid ports.”报错的问题。
报错译文:服务器无法启动,因为一个或多个端口无效。打开服务器编辑器并纠正无效端口。
解决:出现这个问题原因是我们刚刚安装好Tomcat时并没有在浏览器中配置Tomcat的端口。双击对应的Servers项目:
浏览器访问 http://localhost:8080/jspDemo/test.jsp, 即可输出正常结果:
八、Eclipse创建Servlet
动态网站项目中创建一个servlet:右键点击项目名称(jspDemo)或项目中的src,在弹出的菜单中选择 "New -> Other… -> Web -> Servlet",如果找不到Servlet 选项,选择"File-->New->Other-->Web->Servlet":
ZcEclipseServlet.java如下:
package z.c;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ZcEclipseServlet
*/
@WebServlet("/ZcEclipseServlet")
public class ZcEclipseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ZcEclipseServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
response.getWriter().append("------------");
response.getWriter().append("By Eclipse IDE.");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
注意: 如何知道要访问URL后面是 ZcEclipseServlet ,可查看 ZcEclipseServlet 类定义前面定义的注解: @WebServlet("/ZcEclipseServlet") ,例如,修改为 @WebServlet("/hello"),那么访问对应的URL应为: http://localhost:8080/jspDemo/hello