教你用Java的方式创建一个自己的Tomcat容器

教你用Java的方式创建一个自己的Tomcat容器

因此我们是可以使用Java提供内置Tomcat容器框架,使用Java语言操作Tomcat容器。这样我们也能创建一个maven项目,并且内置一个tomcat容器了。

2.创建一个maven项目

=============

3.添加tomcat依赖

============

这里我们使用8.5版本的tomcat

org.apache.tomcat.embed

tomcat-embed-core

8.5.16

4.创建一个servlet:IndexServlet

==========================

public class IndexServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

doPost(req, resp);

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

resp.getWriter().print(“IndexServletIndexServletIndexServletIndexServletIndexServletIndexServlet”);

}

}

我们先看看传统的Servlet需要怎么配置,我们需要在WEB-INF目录下的web.xml文件中,配置sevlet的映射

教你用Java的方式创建一个自己的Tomcat容器

当我们访问这个servlet的时候,访问地址应该是:ip:<端口>/<tomcat上下文>/index

但是,但是,但是tomcat和web.xml没了,怎么配置?简单,没有我们就用main方法来创建一个tomcat。

5.创建一个tomcat

============

5.1.定义servlet配置参数

=================

我们先定义几个servlet的配置参数:servlet的名字,servlet的映射

教你用Java的方式创建一个自己的Tomcat容器

5.2.内置Tomcat常用API介绍

===================

org.apache.catalina.startup.Tomcat

创建tomcat

Tomcat tomcatServer = new Tomcat();

设置tomcat端口

void setPort(int port);

设置上下文地址

void setPath(String path)

添加监听

void addLifecycleListener(LifecycleListener listener)

添加sevlet

Wrapper addServlet(String contextPath,String servletName,Servlet servlet)

添加sevlet映射

void addServletMappingDecoded(String pattern, String name)

启动tomcat

void start() throws LifecycleException

获取服务

Server getServer()

服务异步

tomcatServer.getServer().await()

将Web应用程序添加到Tomcat的webapps目录中,等效的默认web.xml将应用于该Web应用程序,并且与该应用程序打包的任何WEB-INF/web.xml和META-INF/context.xml都将被正常处理。

Context addWebapp(String contextPath, String docBase) throws ServletException

web应用资源添加到此Web应用程序

void addPreResources(WebResourceSet webResourceSet)

5.3.创建tomcat并且添加servlet

=======================

public class TestTomcat {

private static int PORT = 8080;

private static String CONTEX_PATH = “/demosevlet”;

private static String SERVLET_NAME = “index”;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

最新整理面试题
在这里插入图片描述

上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题

最新整理电子书

在这里插入图片描述

最新整理大厂面试文档

在这里插入图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
7155)]

上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题

最新整理电子书

[外链图片转存中…(img-ydSMr813-1713708947155)]

最新整理大厂面试文档

[外链图片转存中…(img-2NBqvbmd-1713708947155)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值