Javaweb学习之Servlet

这篇具有很好参考价值的文章主要介绍了Javaweb学习之Servlet。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Servlet简介

  • 官方文档:https://tomcat.apache.org/tomcat-8.0-doc/servletapi/index.html
  • 什么是Servlet:Servlet 在开发动态 WEB 工程中,得到广泛的应用,Servlet是SpringMVC的基础
  • Servlet的特点
    • 由服务端调用和执行的
    • 用Java语言编写的,本质就是Java类
    • 按照Servlet规范开发

二、简单实现一个Servlet

  1. 使用idea创建一个工程。
  2. 配置好Tomcat。
  3. 添加servlet-api.jar到工程,该jar包在Tomcat文件lib目录下

Javaweb学习之Servlet,学习,servlet

  1. 在src目录下创建代码的包和java文件,实现Servlet接口
package com.study.servlet;/*
@author Tmac
@version 1.0

*/

import javax.servlet.*;
import java.io.IOException;

public class StudyServlet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init() 方法被调用");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Service方法被调用");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

  1. 在web.xml中配置StudyServlet,提供StudyServlet对外访问地址
 <servlet>
        <servlet-name>StudyServlet</servlet-name>
        <servlet-class>com.study.servlet.StudyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>StudyServlet</servlet-name>
        <url-pattern>/study</url-pattern>
    </servlet-mapping>

#servlet标签给Tomcat配置Servlet程序
#servlet-name标签是给Servlet程序起一个名字
#servlet-classServlet程序全类名
#servlet-mapping标签是给Servlet程序配置访问地址

  1. 浏览器访问配置好的URL地址

Javaweb学习之Servlet,学习,servlet

  1. 返回控制台,可看见方法被调用

Javaweb学习之Servlet,学习,servlet

三、Servlet流程

Javaweb学习之Servlet,学习,servlet

  • 如果是第一次请求
    • 查询web.xml
    • 查看请求的资源,web.xml里配置的url-pattern
    • 找到url-pattern得到Servlet-name
    • 查询该Servlet的实例
    • 如果没有查询到该Servlet对应的id,即没有这个Servlet实例
    • 根据Servlet-name得到Servlet-class:类的全路径
    • 使用反射,将Servlet实例化

四、Servlet生命周期

  • 主要有三个方法
    • init()初始化阶段
    • service()处理浏览器请求阶段
    • destroy()终止阶段

初始化阶段

Servlet 容器(比如: Tomcat)加载 Servlet,加载完成后,Servlet 容器会创建一个 Servlet 实例 并调用 init()方法,init()方法只会调用一次, Servlet 容器在下面的情况装载 Servlet:文章来源地址https://www.toymoban.com/news/detail-814731.html

  • Servlet 容器(Tomcat)启动时自动装载某些 servlet,实现这个需要在 web.xml 文件中添加 1 1 表示装载的顺序
  • 在 Servlet 容器启动后,浏览器首次向 Servlet 发送请求
  • Servlet 重新装载时(比如 tomcat 进行 redeploy【redeploy 会销毁所有的 Servlet 实例】),浏览器再向 Servlet 发送请求的第 1 次

Service阶段

  • 每收到一个 http 请求,服务器就会产生一个新的线程去处理[线程]
  • 创建一个用于封装 HTTP 请求消息的 ServletRequest 对象和一个代表 HTTP 响应消息的 ServletResponse 对象
  • 然后调用 Servlet 的 service()方法并将请求和响应对象作为参数传递进去

destory终止阶段

  • 当 web 应用被终止,或者 Servlet 容器终止运行,或者 Servlet 类重新装载时,会调用 destroy()方法

五、GET和POST请求的分发处理

  • 开发 Servlet, 通常编写 doGet、doPost 方法。来对表单的 get 和 post 请求进行分发处理
public void service(ServletRequest servletRequest,
ServletResponse servletResponse) throws ServletException,
IOException {
    HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; String method = httpServletRequest.getMethod();
if("GET".equals(method)) {
doGet(); //用 doGet() 处理 GET 请求 
} else if("POST".equals(method)) {
doPost(); //用 doPost() 处理 POST 请求 
}
}

public void doGet() { 
    System.out.println("doGet() 被调用..");
}
public void doPost() { 
    System.out.println("doPost() 被调用..");
}

到了这里,关于Javaweb学习之Servlet的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaWeb三大组件 —— Servlet

    目录 servlet 注册servlet 父pom  pom文件 1、通过注解注册  2、使用ServletRegistrationBean注册  API三生三世 第一生Servlet 第二生SpringMVC 今生SpringBoot Servlet的作用 : 接受请求参数、处理请求,响应结果, (就是写controller层的get、post等) Servlet的生命周期: void init(ServletConfig):初始化

    2024年02月13日
    浏览(36)
  • JavaWeb-初识Servlet

    1. Servlet简介 2. Tomcat安装配置 3. Servlet项目搭建 4. Servlet项目运行 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet 可以收集来自网页表单的用户

    2024年02月08日
    浏览(37)
  • JavaWeb之Servlet

    在介绍之前需要了解网络通信的三要素: IP:电子设备(计算机)在网络中的唯一标识。 端口:应用程序在计算机中的唯一标识。 0~65536 传输协议:规定了数据传输的规则 而先前的JavaWeb的前篇了解HTML,CSS,以及JavaScript的使用,静态资源和动态资源的分化,都是基于本地缓存的

    2024年02月11日
    浏览(35)
  • 【JavaWeb】5—Servlet

    ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍收藏⭐支持一下博主~😆 5.1.1 名字 Servlet=Server+applet Server :服务器; applet :小程序;

    2023年04月09日
    浏览(72)
  • JavaWeb之Servlet接口

    什么是Servlet? Servlet是一种基于Java技术的Web组件,用于生成动态内容,由容器管理,是平台无关的Java类组成,并且由Java Web服务器加载执行,是Web容器的最基本组成单元 什么是Servlet容器? Servlet容器作为Web服务器或应用服务器的一部分,通过请求和响应提供Web客户端与Serv

    2024年02月20日
    浏览(36)
  • Javaweb | 初识、servlet应用

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! HTTP协议 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出

    2023年04月16日
    浏览(31)
  • Javaweb基础-tomcat,servlet

    properties配置文件: 由键值对组成 键和值之间的符号是等号 每一行都必须顶格写,前面不能有空格之类的其他符号 xml配置文件:(xml语法=HTML语法+HTML约束)xml约束-DTD /  Schema DOM4J进行XML解析:(jar包 dom4j.jar ) web项目标准文件结构(Tomcat/webapps下): app 本应用根目录 stat

    2024年02月19日
    浏览(50)
  • Tomcat 学习之 Servlet

    目录 1 Servlet 介绍 2 创建一个 Servlet 3 web.xml 介绍(不涉及 filter 和 listener 标签) 3.1 display-name 3.2 welcome-file-list 3.3 servlet 3.4 session-config 3.5 error-page 4 Tomcat 如何根据 URL 定位到 Servlet 5 执行 Servlet 5.1 Servlet 接口(规范) 5.2 Servlet 生命周期 5.3 执行 init 初始化方法 5.4 执行 service

    2024年02月22日
    浏览(44)
  • JavaWeb期末大作业 Javaweb项目 Javaweb Servlet html

    1.进入之后是一个分页查询所有数据的内容  该页面有基础的增删改查  还有分页查询  批量删除  进行条件查询  有什么不对的地方欢迎提出  谢谢  2.增删改查 1.添加 添加成功 2.删除  将刚才添加的OPPO删除 3.修改     4.查询的话就是主页查询所有  页面所用的是分页查询

    2024年02月10日
    浏览(42)
  • JavaWeb-Servlet的应用

    1. HTTP协议 2. HttpServlet 什么是HTTP协议 HTTP 协议一般指 HTTP(超文本传输协议)。超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包