Servlet编程下

Servlet编程下

1,servlet的运行原理

servlet的底层技术

1.xml的解析

2,反射

  1. 服务器启动后解析web.xml,然后根据servlet标签的servlet-class子标签配置的全限定名 com.java.web.foundational.servlet.HelloworldServlet使用反射技术来创建对象
  2. 当浏览器在地址栏输入http://localhost:8080/javaweb/helloworld回车发起get请求之后,根据请求项目的资源路径地址从web.xml中查找servlet-mapping标签的url-pattern,然后根据url-pattern对应的servlet-name 查找servlet标签的子标签servlet-name,然后通过反射技术调用Servlet对象的service方法

http://localhost:8080是Tomcat服务器地址;/javaweb虚拟路径对应项目的真实路径是E:\Java项目代码\javaweb2\java-web-foundational\target\java-web-foundational_war_exploded/helloworld 请求路径的资源地址。

2, servlet的生命周期

servlet的生命周期就是servlet对象从创建到销毁的过程

默认情况下是在第一次请求访问时创建,而且在服务器关闭或者该项目从服务器中移除时销毁。

  • inint()方法 ,是在创建servlet时会创建的方法,只会执行一次,该方法可以做一些初始化操作,如读取文件的数据
  • service()方法

Servlet接口

servlet源码翻译

javax.servlet public interface Servlet
定义所有 servlet 必须实现的方法。
servlet 是在 Web 服务器中运行的小型 Java 程序。 Servlet 接收并响应来自 Web 客户端的请求,通常是通过 HTTP(超文本传输协议)。
为了实现这个接口,您可以编写延伸的通用servlet javax.servlet.GenericServlet或的HTTP Servlet扩展javax.servlet.http.HttpServlet 。
该接口定义了初始化 servlet、服务请求和从服务器中删除 servlet 的方法。 这些被称为生命周期方法,按以下顺序调用:
servlet 被构造,然后用init方法初始化。
处理从客户端到service方法的任何调用。
servlet 停止服务,然后使用destroy方法destroy ,然后垃圾收集并完成。
除了生命周期方法之外,该接口还提供了getServletConfig方法,servlet 可以使用它来获取任何启动信息,以及getServletInfo方法,它允许 servlet 返回关于它自己的基本信息,例如作者、版本和版权。

GenericServlet类

定义一个通用的,与协议无关的servlet,要编写用于web的Http Servlet 请修改为{@link javax.serlvet.http.HttPServlet

HttpServlet类

提供一个抽象类来创建子类以创建适用于网站的HTTp servlet的子类必须至少覆盖一种方法

doGet 如果servlet支持Http GET请求

doPost 用于HTTP post请求

doPut 用于HTTP PUT请求

Servlet通常运行在多线程服务器上,因此请注意Servlet必须处理并发请求并小心同步对共享资源的访问。

共享资源包括内存数据(例如实例或者类变量)和外部对象(例如文件,数据库和网络连接)。有关在java程序中处理多线程的更多信息,参考多线程编程

在Idea中 new Servlet; 配置过模板后,标准的servlet程序

image-20210925223741345

@WebServlet(name = "StanderdServlet", value = "/${entity_Name}")
public class StanderdServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

doPost

doGet

约定post请求调用doGet请求

postman工具入门

img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值