【JavaEE】Tomcat手动搭建一个webapp(不用idea)
创始人
2025-05-30 12:39:40
0

1.为什么手动搭建

手动搭建的原因是,servlet其实规定了很多东西,不仅仅是接口。
要想学好servlet就得都知道这些规范,自己体验体验,实践实践,才会知道servlet规范是一个什么样的规范。

  1. servlet规范了一些接口,比如jakarta.servlet.Servlet接口。
  2. servlet规范了一个webapp应该有怎样的目录结构。
  3. servlet规范了目录和配置文件的文件名字。
  4. servlet规范了配置文件的应该怎么写。
  5. 还有其他的一些规范,这里简单举例一下。

2.搭建步骤

2.1打开安装好的tomcat服务器根目录

进入安装好的tomcat服务器目录下:

在这里插入图片描述

如下图

在这里插入图片描述

2.2在webapps目录下面创建一个目录(webapp)

打开webapps目录:

在这里插入图片描述
创建一个目录,也就是webapp了,这里的目录名相当于你的webapp的名字。
可以随便起,这里起的名是crm(客户关系管理系统(Customer Relationship Management))。

在这里插入图片描述

2.3创建WEB-INF目录

刚刚创建好的webapp目录里面创建WEB-INF目录。

在这里插入图片描述
在这里插入图片描述

这里的名字一定要写WEB-INF,这是servlet规范规定死的。

2.4在WEB-INF下面创建classes和lib目录

在这里插入图片描述
创建classeslib目录:
在这里插入图片描述

2.5在WEB-INF下面创建web.xml配置文件

在这里插入图片描述
注意:这里web.xml的名不可以随便起,servlet规范规定死了的,就叫web.xml

2.6将编译后的字节码文件放到classes目录下

需要带包放入目录下面。

com包

在这里插入图片描述

bjpowernode包

在这里插入图片描述

servlet包

在这里插入图片描述

字节码文件

在这里插入图片描述

2.7将需要用到的jar包放到lib目录下面

在这里插入图片描述

2.8配置一下配置文件

在这里插入图片描述

下面的代码是配置文件中最基本的,不需要自己写,直接copy就行了。

	

下面才是我们真正需要配置的:

	alkghalcom.bjpowernode.servlet.FirstServletalkghal/aaa

说明:

servlet标签说明

在这里插入图片描述
在这里插入图片描述

servlet-mapping标签说明

在这里插入图片描述
在这里插入图片描述

完整版配置文件web.xml:

alkghalcom.bjpowernode.servlet.FirstServletalkghal/aaajdbcservletcom.bjpowernode.servlet.DatabaseServletjdbcservlet/user/list

2.9启动服务器

使用startup.bat启动服务器。
在这里插入图片描述

2.10解决服务器日志乱码问题

打开tomcat根目录,找到conf目录

在这里插入图片描述

打开conf目录,找到logging.properties配置文件

在这里插入图片描述

打开配置文件,找到下图指示的位置

在这里插入图片描述

把UTF-8修改成GBK

在这里插入图片描述

2.11重新启动服务器

在这里插入图片描述

2.12在浏览器中发起请求

在这里插入图片描述

前半部分是Tomcat服务器地址端口名
后半部分地址是/webapp名/配置文件中起的url

我之前在webapps目录下建立的目录是crm,这就是webapp的名字:
在这里插入图片描述

配置文件中的url:
在这里插入图片描述

2.13查看服务的响应

在这里插入图片描述

服务器成功响应。

这里打印This is my first Servlet,是因为我在FirstServlet类中的service方法中打印了
This is my first Servlet。
在这里插入图片描述

3.Tomcat10的改动

在这里插入图片描述
官网上解释说:已经把javax改成了jakarta了。

原因是oracle把Java EE规范捐给了Eclipse基金会。

已经不叫Java EE规范了,叫Jakarta EE规范。

Servlet规范是Java EE 规范的其中一个规范,所以也跟着变名了。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...