Servlet入门案例(三)Servlet的生命周期、api和请求方式、工作原理、注解开发

简介: Servlet入门案例(三)Servlet的生命周期、api和请求方式、工作原理、注解开发

一.Servlet的API:

HttpServletResponse:是对响应信息的封装。

HttpServletRequest:是对请求信息的封装。

Servlet(接口)
|-GenericServlet(抽象类)
       |-HttpServlet(抽象类)
             |-FirstServlet(自定义的servlet)

我们自定义的类是否实现了servlet接口,是我们判断该类是否是servlet的唯一标准。

二.Servlet类的生命周期

一个servlet对象从创建到销毁的整个过程。

Servlet接口方法:

Init()方法

Destroy()方法

Service()方法。

1.当客户端有请求过来时,都会去执行service方法。每一个请求都会去调用servlet的service方法。


2.当servlet对象被创建出来时,servlet对象会自动执行init方法。当第一次请求过来时,servlet容器会实例化出servlet对象。Servlet对象是单实例的。所有的客户端请求都会使用第一次请求创建的servlet对象。


3.当tomcat停止服务时。Servlet会被销毁掉。销毁前,servlet会调用destroy方法。

  • 因此得出结论:
    Servlet是单实例的,所有的请求公用一个servlet对象。那么servlet对象不要定义属性。

面试常见servlet生命周期的问题:

  • 1.谁创建了servlet。
  • 2.创建servlet的时机。
  • 3.三个方法的调用时机。
  • 4.什么时候servlet被销毁。

Servlet的请求方式

  • 1.在浏览器里面直接输入url可以请求servlet
  • 2.使用超链接 <a / href=”/appName/url-pattern”>点我
  • 3.form提交的方式请求servlet Form的action=”/appName/url-pattern”

让form表单和servlet结合起来,收参

三.Servlet的工作原理

四.Servlet的注解开发

注解开发实例:

package com.macw.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
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 com.macw.services.UserServices;
import com.macw.services.impl.UserServiceImpl;
/**
 * @author 超伟
 * @2019年6月5日 下午9:30:52
 * @博客:https://blog.csdn.net/MacWx
 */
@WebServlet("/register")
public class RegisterServlet extends HttpServlet {
  public void service(HttpServletRequest req,HttpServletResponse resp)
      throws IOException,ServletException{
    String name = req.getParameter("username");
    String pwd = req.getParameter("password");
    System.out.println("username="+name+"\tpwd="+pwd);
    UserServices service = new UserServiceImpl();
    boolean register = service.Register(name,pwd);
    if (register) {
      req.getRequestDispatcher("/login.jsp").forward(req, resp);
    }else{
      req.setAttribute("error", "注册失败,请重新注册!");
      req.getRequestDispatcher("/register.jsp").forward(req, resp);
    }
  }
}

五.乱码问题

目录
相关文章
|
1天前
|
监控 供应链 搜索推荐
阿里妈妈商品详情API接口:开发、应用与收益的深度剖析
阿里妈妈是阿里巴巴旗下的数字营销平台,其商品详情API接口为开发者提供了获取淘宝、天猫等电商平台商品详细信息的工具。本文介绍了该接口的开发流程、应用场景及带来的收益,揭示了其在电商生态中的重要地位。
20 6
|
1天前
|
供应链 搜索推荐 API
1688APP原数据API接口的开发、应用与收益(一篇文章全明白)
1688作为全球知名的B2B电商平台,通过开放的原数据API接口,为开发者提供了丰富的数据资源,涵盖商品信息、交易数据、店铺信息、物流信息和用户信息等。本文将深入探讨1688 APP原数据API接口的开发、应用及其带来的商业收益,包括提升流量、优化库存管理、增强用户体验等方面。
19 6
|
3天前
|
监控 搜索推荐 API
京东商品详情API接口的开发、应用与收益探索
在数字化和互联网高速发展的时代,京东通过开放商品详情API接口,为开发者、企业和商家提供了丰富的数据源和创新空间。本文将探讨该API接口的开发背景、流程、应用场景及带来的多重收益,包括促进生态系统建设、提升数据利用效率和推动数字化转型等。
17 3
|
9天前
|
供应链 搜索推荐 API
探索1688榜单商品详细信息API接口:开发、应用与收益
本文深入探讨了1688榜单商品详细信息API接口的开发与应用,涵盖接口概述、开发条件、调用方法及数据处理等内容。该API帮助企业高效获取1688平台商品信息,应用于商品信息采集、校验、同步与数据分析等领域,有效提升了企业的运营效率、库存管理、销售转化率及市场策略制定能力,降低了采购成本,提升了客户满意度。
35 9
|
11天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
44 10
|
11天前
|
存储 API 数据库
使用Python开发获取商品销量详情API接口
本文介绍了使用Python开发获取商品销量详情的API接口方法,涵盖API接口概述、技术选型(Flask与FastAPI)、环境准备、API接口创建及调用淘宝开放平台API等内容。通过示例代码,详细说明了如何构建和调用API,以及开发过程中需要注意的事项,如数据库连接、API权限、错误处理、安全性和性能优化等。
57 5
|
10天前
|
数据可视化 搜索推荐 API
速卖通获得aliexpress商品详情API接口的开发、应用与收益。
速卖通(AliExpress)作为阿里巴巴旗下的跨境电商平台,为全球消费者提供丰富商品。其开放平台提供的API接口支持开发者获取商品详情等信息,本文探讨了速卖通商品详情API的开发流程、应用场景及潜在收益,包括提高运营效率、降低成本、增加收入和提升竞争力等方面。
27 1
|
25天前
|
JSON API 数据格式
探索后端开发:从零构建简易RESTful API
在数字时代的浪潮中,后端开发如同搭建一座桥梁,连接着用户界面与数据世界。本文将引导读者步入后端开发的殿堂,通过构建一个简易的RESTful API,揭示其背后的逻辑与魅力。我们将从基础概念出发,逐步深入到实际操作,不仅分享代码示例,更探讨如何思考和解决问题,让每一位读者都能在后端开发的道路上迈出坚实的一步。
|
29天前
|
缓存 前端开发 API
深入浅出:后端开发中的RESTful API设计原则
【10月更文挑战第43天】在数字化浪潮中,后端开发如同搭建梦想的脚手架,而RESTful API则是连接梦想与现实的桥梁。本文将带你领略API设计的哲学之美,探索如何通过简洁明了的设计,提升开发效率与用户体验。从资源定位到接口约束,从状态转换到性能优化,我们将一步步构建高效、易用、可维护的后端服务。无论你是初涉后端的新手,还是寻求进阶的开发者,这篇文章都将为你的开发之路提供指引。让我们一起走进RESTful API的世界,解锁后端开发的新篇章。
|
28天前
|
缓存 API 数据库
Python哪个框架合适开发速卖通商品详情api?
在跨境电商平台速卖通的商品详情数据获取与整合中,Python 语言及其多种框架(如 Flask、Django、Tornado 和 FastAPI)提供了高效解决方案。Flask 简洁灵活,适合快速开发;Django 功能全面,适用于大型项目;Tornado 性能卓越,擅长处理高并发;FastAPI 结合类型提示和异步编程,开发体验优秀。选择合适的框架需综合考虑项目规模、性能要求和团队技术栈。
26 2
下一篇
DataWorks