学习Servlet记录

Servlet

什么是Servlet?
Servlet是javaEE规范之一,什么是规范呢,规范就是接口
Servlet是javaweb的三大组件之一,三大组件分别为Servlet程序、Filter过滤器、listener监听器。
Servlet是运行在服务器端的一个java小程序,它可以接受客户端发过来的请求,并相应数据给客户端。

实现一个Servlet

  1. 编写⼀个类去实现 Servlet 接⼝
  2. 实现 service ⽅法,处理请求,并响应数据
  3. 到 web.xml 中去配置 servlet 程序的访问地址
    继承里面的五个方法
    @Override
    //初始化,当Servlet实例化之后,tomcat来调用Servlet的init方法来初始化。对于每一个实例Servlet只调用一次init方法
    public void init(ServletConfig servletConfig) throws ServletException {
    }
    @Override
    //获取配置参数
    public ServletConfig getServletConfig() {
    return null;
    }
    @Override
    //对请求进行处理,service是servlet的核心方法,客户端的业务逻辑应该在该方法中执行。
    public void service(ServletRequest servletRequest, ServletResponse

} @Override
public String getServletInfo() {
return null;
}
@Override
//销毁,每一个实例化Servlet只能调用一次。
public void destroy() {
}
在创建完类之后,需要到web.xml文件中进行配置

<?xml version="1.0" encoding="UTF-8"?>


HelloServlet//该名要和方法名一致
com.admiral.servlet.HelloServlet//方法的所在包.方法


HelloServlet//该名要和方法名一致
/hello//在tomcat中通过这个对HelloServlet进行访问。


一些在配置Web.xml时常见的错误
url-pattern 中配置的路径没有以斜杠打头
servlet-name 配置的值不存在
servlet-class 标签的全类名配置错误:

Servlet的生命周期

  1. 执⾏ Servlet 构造器⽅法
  2. 执⾏ init 初始化⽅法
  3. 执⾏ service ⽅法
  4. 执⾏ destroy 销毁⽅法
    第⼀、⼆步,是在第⼀次访问,的时候创建 Servlet 程序会调⽤。
    第三步,每次访问都会调⽤。
    第四步,在 web ⼯程停⽌的时候调⽤。

GET 和 POST 请求的分发处理
在get请求下我们可以看见url中会显示我们传递的信息,
在post请求下我们可以看见url中不会显示我们传递的信息。

ServletConfig 类
ServletConfig是Servlet的配置信息类,Servlet和ServletConfig都是由tomcat创建,我们负责使用。Servlet程序默认是第一次访问的时候创建,而ServletConfig是每个Servlet创建时就创建一个对应的ServletConfig。

ServletConfig的作用
可以获取Servlet在xml问价中配置的别名值servlet-name,和获取初始化参数init-param(只限于在它所属的Servlet中使用),获取ServletContext对象

ServletContext类
ServletContext是一个接口,它表示servlet的上下文对象,一个web工程只有一个ServletContext的对象实例,SrevletContext是一个域对象(域对象指的是存储数据的操作范围,整个web工程),ServletContext在Web工程创建时创建,在Web工程停止时销毁。

ServletContext的四个作用
1、取web.xml中配置的上下文参数context-param
2、获取当前工程路径(格式/工程路径) servletContext.getContextPath()
3、获取工程部署后在服务器硬盘上的绝对路径。servletContext.getRealPath("/")
4、像map一样存储值 servletContext.setAttribute(“username”,“Admiral”); servletContext.getAttribute(“username”));
servletContext.removeAttribute(“username”)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值