Servlet进阶

在初级Servlet基础上进一步深化了Servlet的知识。
主要从以下几个方面来加深理解Servlet:

一,路径匹配规则

这里写图片描述
这里写图片描述

二,Web程序启动时就创建Servlet实例
一般用于在Web程序部署时,进行初始化工作,比如在init()方法中操作数据库中的表。

<servlet>
    <servlet-name>xxx</servlet-name>
    <servlet-class>com.jackie.web.servlet.xxx</servlet-class>
    <load-on-startup>3</load-on-startup>
  </servlet>

这里写图片描述

三,重定向和请求分派
a,重定向:
重定向
b,请求分派:
请求分派
注意:
对于客户端(HTML)来说,路径前面的“/”是相对web容器地址的路径;
对于服务器端程序来说,路径前面的“/”是相对于web应用程序根路径的路径。

请求分派中的一个重点知识:
请求域
请求域

四,ServletConfig对象和ServletContext对象

package com.jackie.web.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class TestServlet
 */
public class TestServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println(this.getServletConfig().getInitParameter("paramName"));
        System.out.println(this.getServletContext().getInitParameter("contextParam"));
    }

}

web.xml文件:

...
<servlet>
    <servlet-name>TestServlet</servlet-name>
    <init-param>
        <param-name>paramName</param-name>
        <param-value>参数值!</param-value>
    </init-param>
    <servlet-class>com.jackie.web.servlet.TestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/test</url-pattern>
  </servlet-mapping>

  <context-param>
      <param-name>contextParam</param-name>
      <param-value>上下文值!</param-value>
  </context-param>
  ...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值