当前位置: 首页 > news >正文

JavaEE课程实践-Servlet的部署(tomcat服务器)

目录

Servlet简述

tomcat服务器的安装和运行

Servlet的部署

部署具体步骤

一、创建maven工程

二、创建Servlet类

三、导入相应jar包

四、编写Servlet代码

五、运行maven项目,启动tomcat服务器

 六、测试访问是否成功。


Servlet简述

Servlet 是 Java EE 技术的一部分,它是一种在 Web 服务器中运行的 Java 类,或者说是运行在web服务器上的应用程序,用于处理来自客户端的 HTTP 请求和响应。

Servlet 主要用于生成动态 Web 内容,它们可以与 Web 服务器(例如Tomcat)一起使用,通过 Web 容器来处理 HTTP 请求和响应。

Servlet 的主要功能包括:

  • 接收来自客户端的 HTTP 请求。
  • 读取请求参数、请求头信息、cookies 等数据。
  • 处理请求并生成响应数据。
  • 将响应数据发送回客户端,比如 HTML 页面、JSON 数据等。

tomcat服务器的安装和运行

对于tomcat的安装和运行,我在另一篇博客已有说明和使用演示=>tomcat介绍和使用<=

 ps: tomcat的安装和运行非常简单,只需要下载安装包,解压即用。

Servlet的部署

需求:创建一个servlet,将此servlet部署到tomcat服务器上,并能够通过URL访问到。

说明:在此使用maven项目构建工具作为基础环境进行编写部署。 

至于maven的介绍和使用,我在另一篇博客已有详解=>maven入门到进阶<=

使用maven的好处

不使用maven:对于此测试部署,如果不使用maven,我们需要自己到网页上下载需要的jar包并导入到项目中,自己找的jar包版本不一,真假难辨,并且编写完servlet后我们还需要手动将servlet代码编译成字节码,手动部署到tomcat的webapps目录中,比较繁琐。

使用maven:我们如果使用maven,导入jar包时仅仅需要在pom文件中编写jar包对应坐标即可导入,并且可以在pom文件中引入maven插件,我们只需要执行对应命令,maven就会自动将项目部署到tomcat服务器上。

部署具体步骤

一、创建maven工程

如果使用的编码工具是:IntelliJ IDEA,其中内置了maven,可以直接使用内置的maven,或者自己到设置中配置自己的也是没有问题。

查看和配置maven:进入idea设置,搜索maven,如下图 (在此直接使用内置默认的maven)

 创建过程  

二、创建Servlet类

三、导入相应jar包

 在项目的pom.xml中编写 

<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/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mh</groupId><artifactId>servlet_demo</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>servlet_demo Maven Webapp</name><url>http://maven.apache.org</url><!-- 依赖管理 --><dependencies><!-- 用于单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- servlet相关工具包 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency></dependencies><!--  tomcat插件 --><build><finalName>servlet_demo</finalName><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><path>/</path> <!-- 配置访问根路径 --></configuration></plugin></plugins></build></project>

四、编写Servlet代码

在此使用注解的形式配置。

 代码说明:

(0)在WebServlet注解中书写当前servlet的访问路径。 

(1)首先需要我们自定义创建的类继承HttpServlet类,重写其中的doGet()和doPost()方法,用于接收处理前端的get和post的请求。

(技巧:快捷键alt + insert,选择override methods后,选择需要重写的方法)

(2)由于get 和 post 处理参数的逻辑相同,所以我们在doPost中调用doGet方法即可。避免代码重复。

(3)doGet中编写当接口被访问时的处理逻辑和响应。

自定义类中编写 

package controller;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;/*** Date:2023/3/1* author:zmh* description:**/@WebServlet("/my_servlet") // 自定义接口访问路径
public class MyController extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("接口被访问...");resp.setContentType("text/html;charset=utf-8");PrintWriter writer = resp.getWriter();writer.write("访问成功!");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req, resp);}
}

五、运行maven项目,启动tomcat服务器

说明:因为在pom.xml文件中引入了插件:<tomcat7-maven-plugin>,当我们运行此maven项目的时候,此插件会自动的帮我们将servlet部署到tomcat服务器上并开启tomcat服务器。免去了我们手动将servlet放到tomcat的webapps目录下部署。

运行方式一: 命令行=> mvn tomcat7:run

打开命令行窗口---进入项目根目录下,执行mvn tomcat7:run 

 

 运行方式二、使用maven helper 插件

 如果不想每次都输入命令,我们可以在Intellij IDEA中安装插件 maven helper。

安装插件以后,我们在项目任意位置右键,选择Run Maven ==> tomcat7:run

 六、测试访问是否成功。

我们通过访问自定义的接口路径来判断此servlet是否成功部署到tomcat服务器上。

至此,接口访问通过,测试成功...

http://www.lryc.cn/news/34309.html

相关文章:

  • Java 中的拆箱和装箱
  • 从0开始自制解释器——实现多位整数的加减法计算器
  • (12)C#传智:File类,泛型,字典,FileStream,StreamReader,多态
  • Dubbo的服务暴漏与服务发现源码详解
  • Python 的IDE——PyCharm
  • 01 C语言使用链表实现队列(Queue、FIFO)模块
  • 2.2操作系统-进程管理:前趋图、前趋图与PV操作
  • 凤凰游攻略
  • Nginx 高可用方案
  • Linux基本指令
  • Linux系统基础命令(二)
  • 【C++】C++11——简介|列表初始|简化声明|nullptr与范围for|STL中的变化
  • Python -- 函数
  • Pytorch中utils.data 与torchvision简介
  • 学习 Python 之 Pygame 开发魂斗罗(十)
  • Keepalive+LVS群集部署
  • 数组、指针总结【面试题】
  • 七色电子标签
  • 大数据是什么?发展前景怎么样
  • MYSQL必知必会 | 查询相关
  • Java学习环境一站说明(保姆级详细教学)
  • 05-Oracle中的对象(视图,索引,同义词,系列)
  • 如何通过websoket实现即时通讯+断线重连?
  • 爽,我终于掌握了selenium图片滑块验证码
  • 二、SpringMVC注解式开发
  • Java容器面试知识点总结
  • 增长:2023 IT运维发展趋势前瞻
  • 自己定义typescript的类型声明文件xx.d.ts
  • 数据分析方法及名词解释总结_(面试2)
  • 【FLY】Java知识点总结