zoukankan      html  css  js  c++  java
  • 多个请求使用同一个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(续)
       
  • 相关阅读:
    2、容器初探
    3、二叉树:先序,中序,后序循环遍历详解
    Hebbian Learning Rule
    论文笔记 Weakly-Supervised Spatial Context Networks
    在Caffe添加Python layer详细步骤
    论文笔记 Learning to Compare Image Patches via Convolutional Neural Networks
    Deconvolution 反卷积理解
    论文笔记 Feature Pyramid Networks for Object Detection
    Caffe2 初识
    论文笔记 Densely Connected Convolutional Networks
  • 原文地址:https://www.cnblogs.com/HiJacky/p/5513596.html
Copyright © 2011-2022 走看看