JavaWeb开发(三)Servlet技术-手动、自动创建Servlet

1. Servlet技术

1.1. Servlet介绍

1.1.1. 什么是Servlet

  Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

  Servlet是JavaWeb的核心程序,是Java Web三大组件之一(Servlet,Filter,Listener)。

  在HTTP请求过程中会把请求的参数存放在请求行的URL中,或者是请求体中,这个参数需要服务器来接收解析并处理,Servlet就是用来处理这个过程的。

1.1.2. Servlet作用

  用来处理客户端发送过来的请求,并对该请求做出响应。

  (1)获取接收客户端发送来的请求数据

  (2)处理请求

  (3)将处理的结果通过响应发送到客户端

1.1.3. HttpServlet类找不到

(1)问题

  idea配置tomcat,那么我们自己创建servlet时候想要继承 HttpServlet 类时,找不到。

(2)解决方案

  File-->Project Structure...


1.2. 手动编写Servlet

  Servlet程序必须编写实现类。

  (1) 在src下新建一个包(如com.zzs.szy);

  (2) 新建一个类(如HelloServlet),继承HttpServlet;

  (3) 重写doGet,doPost方法;

javascript 复制代码
// src/com.zzs.szy/HelloServlet 
package com.zzs.szy;
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 HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
        System.out.println("接受的get方法");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
        System.out.println("接受的post方法");
    }
}

  (4) 配置web.xml文件

javascript 复制代码
<servlet>
    <servlet-name>helloServlet</servlet-name>
<servlet-class>com.zzs.szy.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>helloServlet</servlet-name>
    <url-pattern>/hi</url-pattern>
</servlet-mapping>

  (5) 配置访问路径

  (6)部署后输入网址,控制台出现打印数据

说明

标签用于注册servlet

第一步

javascript 复制代码
<url-pattern>/hi</url-pattern>

第二步

javascript 复制代码
<servlet-name>helloServlet</servlet-name>

第三步

javascript 复制代码
<servlet-class>com.zzs.servlet.HelloServlet</servlet-class>

第四步

javascript 复制代码
<servlet-name>helloServlet</servlet-name>

1.3. 使用Servlet4.0自动创建Servlet

  (1)创建项目时候选择

  (2)找到包名右键new-->Create new Servlet

  (3)和手动创建不同的是多了个注解,不用在web.xml配置注册

  (4)配置访问路径

  (5)部署后浏览器访问运行,在控制台可看到打印数据。

相关推荐
卷毛迷你猪21 小时前
快速实验篇(A3)基于 Hive 的气象数据数仓构建与干旱指标初步分析
大数据·hadoop·分布式
卷毛迷你猪21 小时前
快速实验篇(A4)Hive 数据仓库进阶:全站点干旱事件识别与多维统计分析
数据仓库·hive·hadoop·分布式
冰上浮云1 天前
Gravitino iceberg catalog backend 为hive 获取元数据过程
数据仓库·hive·hadoop·gravitino
段一凡-华北理工大学1 天前
工业领域的Hadoop架构学习~系列文章06:Hive数据仓库
数据仓库·hadoop·架构·高炉炼铁·工业智能体·高炉智能化·hive数据仓库
Dest1ny-安全2 天前
2026最新CTF知识库:12大Web漏洞深度文章+1156篇历年大赛WP+50+脚本+Payload速查 +AI/RAG离线在线知识库
java·学习·安全·web安全·servlet
段一凡-华北理工大学2 天前
工业领域的Hadoop架构学习~系列文章04:YARN资源调度架构
人工智能·hadoop·学习·架构·系统架构·高炉炼铁·高炉炼铁智能化
卷毛迷你猪2 天前
快速实验篇(A2-2)数据清洗规则修正与多语言实现验证
hadoop·分布式
段一凡-华北理工大学2 天前
工业领域的Hadoop架构学习~系列文章05:Kafka消息队列 - 工业数据流传输
人工智能·hadoop·学习·架构·kafka·工业智能体·高炉炼铁智能化
tianyuanwo3 天前
Jenkins × Gerrit 集成:自动触发构建的全流程解析
运维·servlet·jenkins
兔子宇航员03013 天前
HIVE SQL 中 NULL 值在 JOIN 和 GROUP BY 中的致命陷阱与解决方案
hive·hadoop·sql