下载安装
Apache Tomcat® - Welcome! 去官网点击 DOWNLOAD 选择需要的版本进行下载
或者点击下面的链接下载需要的版本nullhttps://archive.apache.org/dist/tomcat/tomcat-8/
本次使用的是8.5.87 版本
下载后解压
配置环境变量
需要配置两个环境变量
变量:CATALINA_HOME
值:就是安装 Tomcat 的目录
变量:Path
值:%CATALINA_HOME%\bin
CATALINA_HOME的意义和作用
CATALINA_HOME
的值通常是Tomcat安装目录的绝对路径。
作用是为Tomcat提供了一个明确的家(home)来找到其所需的文件和目录
注意:如果没有正确配置 CATALINA_HOME 的环境变量,会出现报错信息:没有正确配置CATALINA_HOME 环境变量
但是如果手动配置 CATALINA_HOME ,直接打开 Tomcat 安装目录下的 bin 文件夹下的 批处理文件 startup.bat 来启动 tomcat ,发现也可以启动,这是因为 执行 批处理文件 startup.bat 时,会先判断 是否有 CATALINA_HOME 系统变量,如果没有就把当前目录设为 CATALINA_HOME的值。
然后查找 CATALINA_HOME 所指示的目录下是否有个bin目录,此bin目录下是否有个叫做 catalina.bat 的批处理文件(此文件负责启动Tomcat)。若没有,则把当前目录的父目录设为CATALINA_HOME的值,再重复上述的查找。如果还找不到,就会报错
不过还是建议手动配置环境变量
Path的意义和作用
Path 环境变量的作用是允许用户在任何位置方便地运行常用的程序,而不需要记住它们的具体安装路径。例如,无论用户处于哪个目录,只需输入 java
或 python
命令,系统就会在 PATH 变量指定的目录中寻找相应的程序,并执行它
启动Tomcat
点击 Tomcat 安装目录下的 bin 文件夹 里的 startup.bat 批处理文件
启动后如果出现乱码,这是因为字符集不一致
我们电脑默认使用的字符集是 GBK
Tomcat 默认使用的 UTF-8
你看,不一样吧
打开安装目录下的 conf 文件夹,然后打开 这个配置文件
修改为 java.util.logging.ConsoleHandler.encoding = GBK
记得保存
然后控制台输出的就正常了
然后在游览器 打开 127.0.0.1:8080 ,出现这个界面就说明Tomcat 正常启动了
配置网页
打开管理界面
打开会出现以下的界面
这是因为我们还没有添加角色
复制这两句代码,粘贴到配置文件中
打开 conf 文件夹里的 这个配置文件
添加这两句代码 到配置文件里 <role rolename="admin-gui"/> <user username="tomcat" password="s3cret" roles="admin-gui"/>
另外两个模块用的是同一个管理角色,添加管理角色和上面同理
打开管理项目模块
项目都是放在 webapps 文件夹下
所以我们需要在webapps 文件夹里创建网页
创建一个文件夹
新建的HTML文件的名字是 index.html,如果使用其他的名字,在访问的时候需要把文件名加上
注意:WEB-INF 是配置文件夹,网页不可以放在这个文件夹里,因为这个文件夹有权限,网页放在这里访问不了
WEB-INF 文件夹里的配置文件
配置文件可以在 webapps 下的其他文件夹里找,修改一下
然后打开游览器刷新一下刚才的页面
发现多了一个我们刚才创建的项目
点击名称就可以打开网页了
IDEA 配置Tomcat
新建项目
注意:点击 Create Artifact ,否则项目无法打包
配置Tomcat
根据你的项目选择 Local 或者Romote,一个是本地的一个是远程的
新建 index.html 文件
点击右上角 run 启动 Tomcat 服务器
会自动打开游览器解析刚才新建的HTML文件
自定义 Servlet
显示没有这个类,这是因为还没有导包
导入 Tomcat 的jar包
下面开始导包
选择我们下载的 Tomcat 版本
现在就可以了
添加 注解 @WebServlet("/Login")
输入以下代码
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("登录");
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username);
System.out.println(password);
// 设置响应内容类型为text/html
resp.setContentType("text/html;charset=UTF-8");
// 获取PrintWriter对象用于向客户端输出数据
PrintWriter out = resp.getWriter();
// 响应数据
out.println("login");
// 关闭PrintWriter
out.close();
}
重启一下服务器
在游览器输入 http://localhost:8080/test_Web_exploded/Login?username=zhangsan&password=123
前面是你项目的url/Login?username=zhangsan&password=123
Login 是注解的值
username和password 是测试的登陆账号和密码
以上仅是我学习的笔记,有不对的地方恳请指正,谢谢了哈,哈哈哈