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);
    }
  }
}

五.乱码问题

目录
相关文章
|
JSON 监控 API
掌握使用 requests 库发送各种 HTTP 请求和处理 API 响应
本课程全面讲解了使用 Python 的 requests 库进行 API 请求与响应处理,内容涵盖环境搭建、GET 与 POST 请求、参数传递、错误处理、请求头设置及实战项目开发。通过实例教学,学员可掌握基础到高级技巧,并完成天气查询应用等实际项目,适合初学者快速上手网络编程与 API 调用。
1156 130
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
JSON 安全 API
电商API入门问答:开发者必知的10个基础问题
本文详解电商API的10个基础知识,涵盖定义、用途、认证、安全等内容,帮助开发者快速入门并提升开发效率。
|
缓存 监控 安全
电商API集成入门:从零开始搭建高效接口
在数字化电商时代,API集成成为企业提升效率、实现系统互联的关键。本文从零开始,逐步讲解如何搭建高效、可靠的电商API接口,适合初学者学习。内容涵盖API基础、认证安全、请求处理、性能优化等核心步骤,并提供Python代码示例与数学公式辅助理解。通过实践,读者可掌握构建优质电商API的技巧,提升用户体验与系统性能。
|
11月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
2046 1
Python API接口实战指南:从入门到精通
|
JSON 监控 测试技术
亚马逊:调用订单退款API自动化处理售后请求,缩短用户等待时间
在电商运营中,售后效率直接影响用户体验与平台声誉。亚马逊订单退款API为卖家提供自动化工具,通过编程方式高效处理退款请求,显著缩短用户等待时间。本文详解如何集成该API,实现退款流程自动化,提升响应速度与用户满意度。
|
人工智能 JSON JavaScript
【干货满满】API接口请求封装
在 Vue 项目中,常使用 Axios 与后台交互,它基于 Promise,支持浏览器和 Node.js,具备拦截请求、取消请求、JSON 转换等功能。本文介绍了 Axios 的安装、封装及使用方法,包括创建实例、请求拦截、响应处理、API 管理等内容,并提供了完整代码示例,便于统一管理和调用接口,适用于前后端分离开发模式。
|
供应链 API
案例分享:API如何助力小型电商实现月销售额翻倍
&quot;悦居生活&quot;通过接入支付、库存、营销及物流API,优化运营流程,解决库存滞后、营销低效、物流体验差等问题,实现库存周转率提升152%、会员复购率增长128%、月销售额突破32万元。
|
存储 安全 API
亚马逊SP-API入门:海外电商接口调用与国内平台的差异化
亚马逊 SP-API 与国内电商 API 在技术架构、安全机制及开发流程上差异显著。本文对比京东、淘宝等平台,分析接口设计、地域适配、权限管理等核心差异,并结合实战经验提供开发建议,助力开发者高效接入 SP-API,实现全球电商业务拓展。