【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 规范的其中一个规范,所以也跟着变名了。

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...