iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java启动Tomcat的实现步骤
  • 616
分享到

Java启动Tomcat的实现步骤

2024-04-02 19:04:59 616人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录目标:实现:一、前期准备1、加入依赖2、定义Servlet类3、定义Servlet类4、启动Tomcat并测试总结流程图重点及易错点目标: 学习使用java代码启动Tomcat。

目标:

学习使用java代码启动Tomcat

实现:

一、前期准备

实现自定义注解,并用自定义注解模拟正常的业务逻辑,实现将用户发送给服务器的数据回写给用户的功能。

1、加入依赖

项目使用java代码操作Tomcat,所以需要引入servletjar包。为了在浏览器等前端显示信息,所以需要引入jsP相关jar包。源码如下:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="Http://Maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>handwritingproject</artifactId>
        <groupId>com.njust</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>javaStartTomcat</artifactId>
    <dependencies>

        <!--Java语言操作tomcat -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
            <version>8.5.16</version>
        </dependency>

        <!-- tomcat对jsp支持 -->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jasper</artifactId>
            <version>8.5.16</version>
        </dependency>

    </dependencies>

</project>

2、定义Servlet类

定义IndexServlet类,继承 httpservlet,该类只是简单的向客户端输出一行信息以证明服务成功启动。源码如下:

IndexServlet .java

package com.njust.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class IndexServlet extends HttpServlet {

	@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("this is index... tomcat");
	}

}

3、定义Servlet类

定义IndexServletC类,继承 HttpServlet,该类只是简单的向客户端输出一行信息以证明服务成功启动。该类和上面的类功能相同,只是输出不同的信息,以证明Tomcat服务器可以将请求分发到不同的servlet处理。源码如下:

IndexServletC .java

package com.njust.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class IndexServletC extends HttpServlet {

	@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("this is index... tomcat IndexServletC");
	}

}

4、启动Tomcat并测试

定义Main类。配置Tomcat的基本信息。同时将不同路径映射到不同的servlet。源码如下:

Main .java

package com.njust.tomcat;


import com.njust.servlet.IndexServletC;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.startup.Tomcat.FixContextListener;

import com.njust.servlet.IndexServlet;


public class Main {
    private static int PORT = 8080;
    private static String CONTEX_PATH = "/njust";
    private static String SERVLET_NAME = "indexServlet1";
    private static String SERVLET_NAMET = "indexServletC";

    public static void main(String[] args) throws LifecycleException, InterruptedException {

        // 创建tomcat服务器
        Tomcat tomcatServer = new Tomcat();
        // 指定端口号
        tomcatServer.setPort(PORT);
        // 是否设置自动部署
        tomcatServer.getHost().setAutoDeploy(false);
        // 创建上下文
        StandardContext standardContex = new StandardContext();
        standardContex.setPath(CONTEX_PATH);
        // 监听上下文
        standardContex.addLifecycleListener(new FixContextListener());
        // tomcat容器添加standardContex
        tomcatServer.getHost().addChild(standardContex);

        // 创建Servlet
        tomcatServer.addServlet(CONTEX_PATH, SERVLET_NAME, new IndexServlet());
        tomcatServer.addServlet(CONTEX_PATH, SERVLET_NAMET, new IndexServletC());
        // servleturl映射
        standardContex.addServletMappingDecoded("/index", SERVLET_NAME);
        standardContex.addServletMappingDecoded("/indexc", SERVLET_NAMET);
        tomcatServer.start();
        System.out.println("tomcat start success..");
        // 异步进行接收请求
        tomcatServer.getServer().await();

    }

}

运行该程序。控制台输出如下:

Console

四月 03, 2020 3:32:30 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-NIO-8080"]
四月 03, 2020 3:32:31 下午 org.apache.tomcat.util.net.NiOSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
四月 03, 2020 3:32:31 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service [Tomcat]
四月 03, 2020 3:32:31 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/8.5.16
四月 03, 2020 3:32:31 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-nio-8080"]
tomcat start success..

根据控制台信息,我们发现程序成功启动。接下来我们在浏览器访问Tomcat服务器。

在这里插入图片描述

我们访问 http://localhost:8080/njust/indexc可以定位到 IndexServletC,访问 http://localhost:8080/njust/index,可以定位到 IndexServlet。说明的Tomcat可以正常工作了。

在这里插入图片描述

总结

流程图

重点及易错点

1、服务器阻塞等待请求

tomcatServer.start();
System.out.println("tomcat start success..");
// 异步进行接收请求
tomcatServer.getServer().await();

在服务启动后,一定要调用 await() 方法异步进行接收请求,否则服务器启动成功就直接关闭了。

到此这篇关于Java启动Tomcat的实现步骤的文章就介绍到这了,更多相关Java启动Tomcat内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java启动Tomcat的实现步骤

本文链接: https://www.lsjlt.com/news/147927.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java启动Tomcat的实现步骤
    目录目标:实现:一、前期准备1、加入依赖2、定义Servlet类3、定义Servlet类4、启动Tomcat并测试总结流程图重点及易错点目标: 学习使用java代码启动Tomcat。...
    99+
    2024-04-02
  • SpringBoot启动嵌入式Tomcat的实现步骤
    目录Spring Boot中Web容器相关接口WebServerServletWebServerFactoryWebServerFactoryCustomizerBeanPostPr...
    99+
    2024-04-02
  • Docker启动mysql服务的实现步骤
    1:确保自己的服务器已经安装好了docker 输入 docker info 或者docker version 2:然后我们去docker hub去下载自己的想要的mysql镜像 &...
    99+
    2024-04-02
  • uwsgi启动django项目的实现步骤
    目录一.收集静态资源二.配置uwsgi一.收集静态资源 1.settings.py # 静态资源访问的起始url STATIC_URL = '/static/' # 指定静态资源所在...
    99+
    2024-04-02
  • Tomcat配置HTTPS访问的实现步骤
    目录1.tomcat单向认证2.tomcat双向认证在tomcat中存在两种证书验证情况 (1)单向验证 (2)双向验证 1.tomcat单向认证 服务器端会提供一个公开的公钥,每...
    99+
    2024-04-02
  • IntelliJ IDEA 2021 Tomcat 8启动乱码问题的解决步骤
    之前给大家介绍过最新IntelliJ IDEA 2021版配置 Tomcat 8.5 的详细步骤 需要的朋友点击学习下。今天重点给大家介绍IDEA 2021 Tomcat ...
    99+
    2024-04-02
  • TOMCAT的安装步骤
    TOMCAT的安装步骤:0、已经安装了APACHE及JDK。否则安装之。本机安装版本为1。3。JDK为1。4。01、下载TOMCAT安装包,目前最新版本为4。0,安装时使用的为正式发布版3。2。1,下载地址为:java.apache.org...
    99+
    2023-06-03
  • 解决Java启动qq的具体操作步骤
    要使用Java启动QQ,您需要按照以下步骤进行操作:1. 下载并安装Java Development Kit (JDK):您可以从O...
    99+
    2023-08-23
    Java
  • war包部署到Tomcat下运行的实现步骤
    目录war包部署到Tomcat下运行总结war包部署到Tomcat下运行 1、配置JDK安装路径到环境变量 2、配置Tomcat安装路径到环境变量 3、从Eclipse导出war包 ...
    99+
    2023-03-21
    war包部署 war包部署到Tomcat Tomcat部署war包
  • SpringBoot启动嵌入式Tomcat的实现过程
    本篇内容介绍了“SpringBoot启动嵌入式Tomcat的实现过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录Spring Boot...
    99+
    2023-06-20
  • Java调用Zookeeper的实现步骤
    目录watch机制常用APIJAVA调用watch机制 Zookeeper watch是一种监听通知机制,可以随时监听一些数据的变化,从而实现数据的及时性。 Zookeeper所有的...
    99+
    2024-04-02
  • 使用nginx+tomcat+keepalived实现高可用的详细步骤
    目录架构设计安装tomcat服务192.168.166.128192.168.166.129安装nginx服务安装keepalived验证架构设计 IP服务应用192.168.16...
    99+
    2024-04-02
  • linux启动oracle的步骤是什么
    在Linux上启动Oracle数据库的一般步骤如下:1. 确保Oracle数据库软件已经安装并配置正确。2. 登录到Linux操作系...
    99+
    2023-10-18
    oracle linux
  • java发送短信的实现步骤
    一、在中国网建中注册用户:本程序是通过中国网建提供的SMS短信平台实现的,该平台新用户注册可以拥有免费5条普通短信和3条彩信,足够进行尝试和体验了。中国网建注册地址:http://sms.webchinese.cn/reg.shtml;二、...
    99+
    2023-05-31
    java 发送短信 ava
  • php三级联动实现步骤
    PHP三级联动实现步骤随着互联网的发展,Web开发已经成为了IT行业的重要组成部分。而PHP作为Web开发的重要工具,其应用范围也越来越广泛。在Web开发中,三级联动的表单控件在一些特殊的场合非常有用,如:省市区地址选择、品牌、型号、版本选...
    99+
    2023-05-24
  • python实现自动化群控的步骤
    目录1. 前言2. 准备3. 实战1、获取目标应用的包名及初始化 Activity2、获取所有在线的设备3、群控打开目标应用4、封装执行步骤5、区分设备6、执行步骤7、关闭应用4. ...
    99+
    2024-04-02
  • SpringBoot自动配置Quartz的实现步骤
    目录1. 依赖信息 1.1 原依赖信息 1.2 新的依赖 1.3 依赖变化 2. 新的依赖使用 2.1 默认配置可用 2.2 使用自动配置 2.3 配置信息: 3. 总结 Sprin...
    99+
    2024-04-02
  • Tomcat配置访问日志和线程数的实现步骤
    目录1.tomcat access log的配置1.access log的配置2.查看磁盘上的日志文件3.accesslog参数解释:2.Tomcat配置线程数3.实时查看tomca...
    99+
    2024-04-02
  • angular2创建和启动项目的步骤
    本篇内容主要讲解“angular2创建和启动项目的步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“angular2创建和启动项目的步骤”吧!1. 创建项目文件...
    99+
    2024-04-02
  • 使用cmd启动mysql服务的步骤
    使用cmd启动mysql服务的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!使用cmd启动mysql服务的步骤:1、进...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作