【Java后台】从零开始的Java后台开发(三)

article/2025/10/25 4:04:23

编写基础的Servlet应用程序

1 Servlet

使用Servlet需要在pom.xml中引入以下依赖:

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency>

Servlet接口定义了以下5个方法

public void init(ServletConfig config) throws ServletException;public ServletConfig getServletConfig();public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException;public String getServletInfo();public void destroy();

init、service和destroy方法属于servlet生命周期方法。servlet根据以下原则调用这三个方法:

  • init:第一次请求Servlet时,Servlet容器就会调用这个方法。在后续的请求中,将不会再调用该方法。可以利用这个方法来编写一些应用程序初始化相关的代码。在调用这个方法时,Servlet容器会传递一个ServletConfig。
  • service:每次请求Servlet时,Servlet容器都会调用这个方法。必须在这里编写要Servlet完成的相应代码。第一次请求Servlet时,Servlet容器会调用init和service,之后每次请求,不会再调用init,只会调用service方法。
  • destroy:要销毁Servlet时,Servlet容器就会调用这个方法。它通常发生在卸载应用程序,或者关闭Servlet容器的时候,一般来说,可以在这个方法中编写一些资源清理相关的代码。

Servlet中的另外两个方法是非生命周期方法:getServletInfo和getServletConfig。必须注意的一点是线程安全性。一个应用程序中的所有用户将共用一个Servlet实例。

2 编写Servlet示例

确保在pom.xml文件中已经引入servlet-api依赖包。项目目录结构如下:
在这里插入图片描述

package com.servlet.demo;import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet(name = "MyServlet", urlPatterns = {"/my"})
public class MyServlet implements Servlet {private transient ServletConfig servletConfig;@Overridepublic void init(ServletConfig config) throws ServletException {this.servletConfig = config;}@Overridepublic ServletConfig getServletConfig() {return servletConfig;}@Overridepublic void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {String servletName = servletConfig.getServletName();res.setContentType("text/html");PrintWriter writer = res.getWriter();writer.print("<html><head></head><body>Hello from " + servletName + "</body></html>");}@Overridepublic String getServletInfo() {return "My Servlet";}@Overridepublic void destroy() {}
}

上述使用了@WebServlet注解,所以需要在web.xml中配置允许使用注解,web.xml 的顶层标签 中有一个属性:metadata-complete,该属性用于指定当前 web.xml 是否是完全的。若该属性设置为 true,则容器在部署时将只依赖 web.xml,忽略所有的注解。若不配置该属性,或者将其设置为 false,则表示启用注解支持。配置如下所示:

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://xmlns.jcp.org/xml/ns/javaee"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0" metadata-complete="false"><!-- metadata-complete取值为true,表示关闭注解支持 --><!-- metadata-complete取值为false,表示启用注解支持 --><display-name>Archetype Created Web Application</display-name>
</web-app>

现在,就可以运行Servlet项目了。

3 配置Servlet容器

  • 点击Add Configuration
    在这里插入图片描述
  • 点击 add new
    在这里插入图片描述
  • tomcat选择local
    在这里插入图片描述
  • 选择Application Server
    在这里插入图片描述
  • 选择本地的tomcat目录
    在这里插入图片描述
  • 更改如下两个端口号(如果没有被占用可以不用更改)
    在这里插入图片描述
  • 配置Deployment
    在这里插入图片描述
    在这里插入图片描述
  • 更改一下application context
    在这里插入图片描述
    然后点击ok。

运行项目

依次按照下图顺序点击运行:
在这里插入图片描述
运行成功后如下图所示,有一个对钩
在这里插入图片描述
然后浏览器中输入如下所示:
在这里插入图片描述
【Java后台】从零开始的Java后台开发(二)
【Java后台】从零开始的Java后台开发(一)


http://chatgpt.dhexx.cn/article/vmIws75C.shtml

相关文章

【Java后台】从零开始的Java后台开发(一)

1. 工具 tomcat 9.0.65ideal 1. Ideal新建项目 File->New->Project 主要修改如下所示几个地方&#xff0c;之后点击create按钮 创建成功后一开始的目录如下所示&#xff0c; 但先不要动项目&#xff0c;它还在后台下载一些东西&#xff0c;下载完成后&#xff0…

数据迁移,数据库迁移工具,数据库实时同步方案

SyncNavigator是一款功能强大的数据库同步软件&#xff0c;适用于SQL SERVER, MySQL&#xff0c;具有自动/定时同步数据、无人值守、故障自动恢复、同构/异构数据库同步、断点续传和增量同步等功能&#xff0c;支持Windows xp以上所有操作系统&#xff0c;适用于大容量数据库快…

数据迁移常用方法

SQL SERVER几种数据迁移/导出导入的实践 SQLServer提供了多种数据导出导入的工具和方法&#xff0c;在此&#xff0c;分享我实践的经验&#xff08;只涉及数据库与Excel、数据库与文本文件、数据库与数据库之间的导出导入&#xff09;。 &#xff08;一&#xff09;数据库与E…

电脑数据迁移高招,怎么把旧电脑的数据迁移到新电脑

小编的朋友买了台新的笔记本电脑&#xff0c;方便出差工作&#xff0c;需要将公司电脑上的资料也导一份到新电脑里&#xff0c;怎么把旧电脑的数据迁移到新电脑。朋友一点也不想花时间重新下载安装软件&#xff0c;尤其是那些工作需要的应用。下面是她的一些要求&#xff1a; …

数据迁移ETL工具分享

1.概述 ETL(是Extract-Transform-Load的缩写&#xff0c;即数据抽取、转换、装载的过程)&#xff0c;对于企业应用来说&#xff0c;我们经常会遇到各种数据的处理、转换、迁移的场景。 我汇总了一些目前市面上比较常用的ETL数据迁移工具&#xff0c;希望对你会有所帮助。 2. …

flyway(数据库迁移工具)

系列文章目录 主要是用来记录每次迭代的版本sql的表结构的变动.在部署某个版本时,能够快找到这个版本对应的sql,避免出现表结构的错误 Flyway是独立于数据库的应用、管理并跟踪数据库变更的数据库版本管理工具。用通俗的话讲&#xff0c;Flyway可以像Git管理不同人的代码那样…

在线数据迁移

在线数据迁移&#xff0c;是指将正在提供线上服务的数据&#xff0c;从一个地方迁移到另一个地方&#xff0c;整个迁移过程中要求不停机&#xff0c;服务不受影响。根据数据所处层次&#xff0c;可以分为 cache 迁移和存储迁移&#xff1b;根据数据迁移前后的变化&#xff0c;又…

数据迁移软件|如何将旧电脑的数据传输到新电脑?

小编最近换了台新电脑&#xff0c;需要将旧电脑的文件都转移过去&#xff0c;但是旧电脑上大文件不少&#xff0c;不管是上传到网盘再下载&#xff0c;还是通过QQ或微信在线传输&#xff0c;速度都很慢&#xff0c;且步骤太复杂。相信很多小伙伴也和小编一样遇到过这个问题&…

2023最值得推荐的电脑数据迁移方法,一键转移文件和程序

没有什么比拥有一台新电脑更令人兴奋的了。这意味着您可以使用大量新功能、更强大的功能、更好的显示器和更多存储空间。但是&#xff0c;如果您需要将文件、数据从旧计算机传输到新计算机&#xff0c;或者再新电脑上安装新的程序&#xff0c;那么这种兴奋可能会有所减弱。因为…

各种数据库之间数据迁移工具

前阶段需要把sqlserver上的数据迁移到mysql上&#xff0c;找到了非常好用的工具DB2DB。 下载地址&#xff1a;http://www.szmesoft.com/DB2DB DB2DB 是目前经过测试速度最快、最稳定实现多种数据库之间进行数据转换的工具。支持 SQL Server、MySQL、SQLite、Access 等多种数据…

可视化数据同步迁移工具 CloudCanal

CloudCanal 介绍 CloudCanal 是一款数据迁移同步工具&#xff0c;提供友好的可视化操作界面&#xff0c;支持多种数据源间的数据迁移、数据同步、结构迁移、数据校验。 CloudCanal 核心团队成员来自阿里巴巴中间件和数据库团队, 长期从事分布式数据库、数据库中间件、应用中间…

数据的迁移工具

数据的迁移工具 逻辑导出导入工具&#xff1a;exp ----逻辑导出工具 imp ----逻辑导入工具 数据导出模式&#xff1a; 全库导出 --full 先新建一个用来导出导入的目录 mkdir -p /home/oracle/backup/exp 进入该目录 cd /home/oracle/backup/exp 用语句导出 exp \ s…

电脑数据传输/数据迁移下载哪款软件好?

买了新电脑要重新安装应用程序&#xff1f;旧电脑的数据要迁移到新电脑&#xff1f;文件太多传输速度慢&#xff1f;就没有什么办法是可以一次性解决这些问题的吗&#xff1f;答案当然是有&#xff01;我们可以借助专业的电脑数据传输/数据迁移软件来完成&#xff01;那么究竟数…

数据迁移工具(数据库之间进行数据库迁移所使用的工具及迁移流程。)

总流程图&#xff1a; 以下为mysql&#xff0c;oracle&#xff0c;瀚高&#xff08;highgo&#xff09;&#xff0c;金仓&#xff08;kingbase&#xff09;&#xff0c;达梦&#xff08;DM8&#xff09;数据库之间进行数据库迁移所使用的工具及迁移流程。 1.KingBase Explore…

硬盘数据迁移软件哪款好用?强烈推荐它!

硬盘数据迁移软件哪款好用&#xff1f;现如今&#xff0c;将一块硬盘的数据完整迁移克隆到另一块硬盘已经不是什么技术难题&#xff0c;市面上形形色色的硬盘数据迁移软件也不少&#xff0c;但是到底哪款好用呢&#xff1f;小编在试过多款硬盘数据迁移软件之后&#xff0c;综合…

8款数据迁移工具选型,主流且实用

前言&#xff1a;ETL(是Extract-Transform-Load的缩写&#xff0c;即数据抽取、转换、装载的过程)&#xff0c;对于企业应用来说&#xff0c;我们经常会遇到各种数据的处理、转换、迁移的场景。今天特地给大家汇总了一些目前市面上比较常用的ETL数据迁移工具&#xff0c;希望对…

数据迁移方案

一、数据迁移背景 问题场景&#xff1a; 现在有一个未分库分表的系统&#xff0c;未来要分库分表&#xff0c;如何设计才可以让系统从未分库分表动态切换到分库分表上&#xff1f; 1.1 停机迁移方案 我先给你说一个最 low 的方案&#xff0c;就是很简单&#xff0c;大家伙儿凌晨…

数据迁移工具

1.Kettle Kettle是一款国外开源的ETL工具,纯Java编写,绿色无需安装,数据抽取高效稳定 (数据迁移工具)。 Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。 Kettle 中文名称叫水壶,该项目的主程序…

数据迁移工具,用这8种就够了!!!

前言 最近有些小伙伴问我&#xff0c;ETL数据迁移工具该用哪些。 ETL(是Extract-Transform-Load的缩写&#xff0c;即数据抽取、转换、装载的过程)&#xff0c;对于企业应用来说&#xff0c;我们经常会遇到各种数据的处理、转换、迁移的场景。 今天特地给大家汇总了一些目前…

数据迁移工具,用这8种就够了

前言 最近由于工作需要需要进行数据迁移&#xff0c;那么ETL数据迁移工具该用哪些呢&#xff1f; ETL(是Extract-Transform-Load的缩写&#xff0c;即数据抽取、转换、装载的过程)&#xff0c;对于企业应用来说&#xff0c;我们经常会遇到各种数据的处理、转换、迁移的场景。…