• 多个请求使用同一个Servlet


    多个请求使用同一个Servlet

    多个请求使用同一个Servlet

    如果JSP中一个请求对应一个Servlet那要建很多Servlet,代码冗余较多。

    我们可以把一个模块的请求封装在一个Servlet,实现功能的模块化,从而简化代码。

    方法/步骤

    1. 1

      1.新建test.jsp文件

      MVC案例代码详解2--多个请求使用同一个Servlet
    2. 2

      2.输入如下代码,分别是3个请求,请求同一个Servlet,但是后边跟的参数method不同

      MVC案例代码详解2--多个请求使用同一个Servlet
    3. 3

      3.新建CustomerServlet

      MVC案例代码详解2--多个请求使用同一个Servlet
    4. 4

      4.代码如下,重点看红框标记的代码

      因为增删改查的操作既有doGet 又有doPost,为了简化代码,我们在doGet方法中统一调用doPost的方法

      在doPost中通过获取method参数的不同,调用不同的方法,从而区别出不同的请求,达到多个请求访问一个Servlet的目的

      MVC案例代码详解2--多个请求使用同一个Servlet
    5. 5

      5.运行test.jsp页面

      MVC案例代码详解2--多个请求使用同一个Servlet
    6. 6

      6.访问add

      MVC案例代码详解2--多个请求使用同一个Servlet
    7. 7

      7.访问query

      MVC案例代码详解2--多个请求使用同一个Servlet
    8. 8

      8.访问delete

      MVC案例代码详解2--多个请求使用同一个Servlet
    9. 9

      9.注意上边的操作,访问的都是customerServlet 无非后边的method不同,而访问不同的方法。

      如果新增了update 方法就在servlet中新增代码即可。

    10. 10

      10.通常情况下我们可以这么使用。

      但代码还有两个小缺点

          1>当添加一个请求时,需要在Servlet中修改两处代码。    2>url中使用method=xxx暴露了要调用的方法,不私密,有安全隐患

      解决方法如下:

      难点是对于反射的理解。

      方法/步骤

      1. 1

        1.修改test.jsp页面代码,修改三个请求链接分别为

        add.do,query.do,delete.do

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      2. 2

        2.修改web.xml文件中的url-pattern 为*.do, 如此配置的话所有带有.do的访问连接都走这个Servlet

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      3. 3

        3.修改doPost方法,注意反射的代码

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      4. 4

        4.访问test.jsp

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      5. 5

        5.访问add

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      6. 6

        6.访问query

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      7. 7

        7.访问delete

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      8. 8

        8.但是如果我访问一个不存在的连接例如:abc.do,会出现异常,这是由于反射中没有找到abc.do对应的方法

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      9. 9

        9.我们在Servlet中反射异常代码中修改如下,让它跳转到一个error.jsp

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      10. 10

        10.新建error.jsp 添加一句提示

        MVC案例3--Servlet多个请求对应一个Servlet(续)
      11. 11

        11.再次访问不存在的连接,就会给出提示

        MVC案例3--Servlet多个请求对应一个Servlet(续)
       
  • 相关阅读:
    C++_构造函数与析构函数
    华为模拟机试_C++题解
    OOP_由C到C++
    OOP_面向对象程序设计概述
    java ssm 后台框架平台 项目源码 websocket即时聊天发图片文字 好友群组 SSM源码
    springmvc SSM 多数据源 shiro redis 后台框架 整合
    【面经】5年Java面试亲身经验
    【快手初面】要求3个线程按顺序循环执行,如循环打印A,B,C
    手工实现HttpBasic校验
    Java 并发系列(一) ThreadPoolExecutor源码解析及理解
  • 原文地址:https://www.cnblogs.com/HiJacky/p/5513596.html
Copyright © 2020-2023  润新知