servlet&jsp-day09

1.容器是如何处理请求资源路径的?

比如,在浏览器地址栏输入http://ip:port/appname/abc.html,容器如何处理?

step1.容器默认会认为访问的是一个Servlet,所以容器会查看web.xml中有没有匹配的Servlet 有三种匹配方式:
精确匹配:
url-pattern>的值必须等于请求路径。比如说,对于上述请求,值必须是“/abc.html”

通配符匹配:
使用“*”匹配任意的零个或者多个字符。比如
/*
/demo/*

后缀匹配:
使用“*.”开头,后接一个后缀,用来匹配所有以该后缀结尾的请求。比如
*.do
*.action
step2.如果没有匹配的Servlet,则容器会查找对应的文件

2.如何让一个Servlet处理多种请求?

step1.使用后缀匹配,比如
*.do

step2.分析请求资源路径,进行不同的处理

    //step1.获得请求资源路径
    String uri = request.getRequestURI();
    System.out.println("uri:" + uri);

    //step2.分析请求资源路径,进行不同的处理
    String path = 
            uri.substring(
                    uri.lastIndexOf("/"), 
                    uri.lastIndexOf("."));
    System.out.println("path:" + path);

    if("/list".equals(path)) {
        System.out.println("处理用户列表请求");
    }else if("/add".equals(path)) {
        System.out.println("处理添加用户请求");
    }

3.过滤器

(1)什么 是过滤器?
Servlet规范当中定义的一种特殊的组件,用于拦截Servlet容器的调用过程。
Servlet规范当中定义的一种特殊的组件,用于拦截Servlet容器的调用过程。
容器启动之后,会立即创建过滤器实例,只会创建一个实例。
容器在创建好过滤器实例之后,接下来会调用过滤器的init方法
该方法只执行一次,容器会将FilterConfig对象作为参数传递过来,该对象提供了一些实用方法,比如读取初始化参数的方法。
注:
容器收到请求之后,会先调用过滤器,再调用Servlet。

 * 注(了解):
 *  ServletRequest是HttpServletRequest的父接口
 *  ServletResponse是HttpServletResponse的父接口

(2)如何写一个过滤器?
step1.写一个java类,实现Filter接口。
step2.在接口方法当中,实现拦截处理逻辑。
step3.配置过滤器。(web.xml)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值