JavaWEB-Servlet

1 篇文章 0 订阅
1 篇文章 0 订阅
  • servlet是运行在WEB服务器中的小型Java程序(服务器端的小应用程序)。servlet通常通过HTTP(超文本传输协议)接收和响应来自Web客户端的请求.

编写第一个Servlet程序

执行过程

  • 1、通过URL(http://localhost:8080/项目名/uri)向Tomcat发送请求
  • 2、Tomcat接收到请求找到项目下的uri
  • 3、找到uri指定的类
  • 4、实例化这个类
  • 5、服务器调用service
    这是我自己描述的
    在这里插入图片描述

Servlet的生命周期(重要)

  • 实例化-初始化-服务-销毁
    在这里插入图片描述
    在这里插入图片描述
  • 如果想观察到销毁的方法,可以通过http://localhost:8080找到管理项目界面进行停止或删除项目,
    一些tomcat在eclipase的配置,不然打不开管理界面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 可以设置服务器一启动就实例化servlet
    在这里插入图片描述
  • 执行流程
    在这里插入图片描述

Servlet创建的三种方式

  • 实现Servlet接口(上面的第一个程序就是)

  • 继承GenericServlet抽象类(适配器设计模式)

    该类实现了servlet\servletConfig;
    只有service()方法是抽象的在继承时必须重写,其它方法想重写就重写,这也是适配置器设计模式所带来的好处

public ServletDemo extends GenericServlet {
	//重写服务的方法
	public void service(ServletRequest req, ServletResponse res) {
		System.out.println("----服务的方法---");
	}
}
  • 继承HttpServlet类(模板方法设计模式,其实原理就是多态)
    一定要搞清楚他是怎么调用到doGet和doPost的,其实服务器调用的还是Servlet()但Serlvet方法又在内部调用了doGet或者doPost,详细请看HttpServlet类
    在这里插入图片描述

映射细节

  • 配置多个映射路径
    在这里插入图片描述

  • 通配符*
    url-pattern:.do 以.字符串的请求都可以访问
    url-pattern:/* 任意字符串都可以访问
    url-pattern:/字符串/*. 以字符串开头的请示都可以访问

  • 匹配规则从高到低:绝对匹配-/开关匹配-扩展名方式匹配

  • 如果url-patterm的值是/,那么执行的是默认映射。所有资源都是servlet

Servlet的线程安全

  • Serlvet是单实例,而service方法是多线程的
  • 解决线程安全的问题:不要定义全书变量,定义局部变量

获取配置信息

 - 作用:1、可以获取servlet配置信息;2、可以获得ServletContext对象
  • 通过init(ServletConfig)获取配置对象
  • 通过getServletConfig()获取配置对象
    在这里插入图片描述

ServletContext(重要)

  • ServletContext:代表的是整个应用。一个应用只有一个ServletContext对象,单实例;

三大作用

  • 域对象:在一定范围内(当前应用下),使多个Servlet共享数据
    在这里插入图片描述
    在这里插入图片描述
  • 获取全局配置信息
    在这里插入图片描述
    在这里插入图片描述
  • 获取所有资源路径
    String getRealPath(String path);//根据资源名称得到资源绝对路径
    在这里插入图片描述
    在这里插入图片描述

实现Servlet的转发

  • RequestDispatcher getRequestDispatcher(String path);//表示要跳转到哪去

在这里插入图片描述
在这里插入图片描述

Servlet核心类图

在这里插入图片描述

  • 通过参数传递的叫依赖这个参数的对象
  • 通过方法获取的叫关联得到的对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值