servlet

servlet

什么是servlet?

server+Applet,是一种服务器端的Java请用程序
只有当一个服务器端的程序使用了servlet API的时候,这个服务器端的程序才能称之为ServletServlet的作用是处理请求,服务器会吧接收到的请求交给Servlet来处理,在Servlet中通常需要:

  • 接受请求数据
  • 处理请求
  • 完成响应

Servlet干什么的?

  • 本身不注意任何业务处理
  • 只接收请求并决定调用哪个JavaBean去处理请求
  • 确定用哪个页面来显示处理返回的数据

Servlet小总结

Java程序
运行在服务器
需要web容器的支持
使用了ServletAPI
本身不做任何业务处理,中间调度作用

实现Servlet的三种方式

1、 实现servlet接口(不常用)

2、 继承Genericservlet类(不常用)

3、 继承httpservlet类(常用)

  • 这个类也是Servlet接口的一个实现类,用来面上http协议的
  • Httpservlet原理

Servlet配置路径

需要在WEB-INF下的web.xml中给Servet配置路径
代码演示:

<servlet>
        <servlet-name>xxx</servlet-name>
        <servlet-class>类的路径xxx</servlet-class>
    </servlet>
    <servlet-mapping>
    <!-- 两个servlet-name 必须是一样的 --> 
        <servlet-name>xxx</servlet-name>
       <servlet-pattern>/路径名</servlet-pattern>
        <!--servlet-pattern这里必须是/开头 -->
    </servlet-mapping>

继承的方法

  • init() 初始化
  • service() 处理请求和生成响应
  • doGet() 实现操作
  • doPost() 实现操作
  • destory() 销毁

定义局部初始化参数

  • 通过WEB-INF中的web.xml配置文件,定义初始化参数位置
  • servlet标签内
  • 可以定义多个
  • 需要在init()有参构造的方法内写代码
  • 代码格式:
<servlet>
    <init-param>
        <param-name>参数名</param-name>
        <param-value>参数值</param-value>
    </init-param>
</servlet>

实现代码:

public void init(ServletConfig config) throws ServletException {
        // TODO Auto-generated method stub
        //获取servlet的名称======》获取web.xml配置中的servlet节点的名称 
        System.out.println("获取servlet的名称:"+config.getServletName());

        System.out.println(config.getServletContext().getContextPath());

定义全局初始化参数

  • 通过WEB-INF中的web.xml配置文件,定义初始化参数位置
  • servlet标签外
  • 可以定义多个
  • 代码格式:
<context-param>
    <param-name>xxx</param-name>
    <param-value>xxx</param-value>
  </context-param>

实现代码:

 //config.getServletContext() 读取的是全局的
        Enumeration<String>  ctxParams = config.getServletContext().getInitParameterNames();

        while(ctxParams.hasMoreElements()){
            System.out.println("获取全局的:"+ctxParams.nextElement());
        }

        //根据参数名获取值
        System.out.println("获取当前servlet:"+config.getInitParameter("name"));
        //获取全局的
        System.out.println("获取全局的:"+config.getServletContext().getInitParameter("name"));
    }

Servlet生命周期

1. 加载和实例化
2. 初始化阶段 调用init()方法
3. 处理请求阶段  调用service()方法
4. 销毁阶段  调用destroy()方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值