Maison  >  Questions et réponses  >  le corps du texte

java - 重写HttpServlet的doGet、doPost方法时为什么要把它们的访问权限设为public?

看一本Java Web入门书时,其中提到HttpServlet的doGet方法是protected的,我们重写doGet方法时,为了使其能被Servlet容器访问,应该把访问权限设为public,然后我看网上的例子也全是把doGet写成public。Servlet容器为什么会直接访问doGet方法?HttpServlet的原理不是容器调用其service()方法,其service()根据实际的请求方法来调用doGet或者doPost的么。

高洛峰高洛峰2743 Il y a quelques jours949

répondre à tous(2)je répondrai

  • PHPz

    PHPz2017-04-18 10:54:23

    Avez-vous vu des projets open source qui utilisent doGet pour écrire doPost ou public ? Au moins, je ne l'ai pas vu.

    La portée de

    doit être aussi petite que possible (si vous pouvez utiliser private, n'utilisez pas protected, si vous pouvez utiliser protected, n'utilisez pas public C'est un principe). cela doit être suivi dans le codage.

    répondre
    0
  • 迷茫

    迷茫2017-04-18 10:54:23

    Accédez d'abord à la méthode de service, puis utilisez la méthode de service pour déterminer si vous devez utiliser la méthode doget ou dopost. Cependant, la servlet que nous avons écrite hérite de HttpServlet et réécrit le doget et le doPost de la classe parent, nous devons donc utiliser public. . Java a conçu cette méthode d'augmentation des autorisations afin que les sous-classes puissent décider si leurs méthodes peuvent être ouvertes aux appelants. Si la sous-classe est protégée, le conteneur de servlet peut également y accéder. Généralement, les autorisations d'accès pour les méthodes de classe parent remplacées sont >= les méthodes de la classe parent.

    répondre
    0
  • Annulerrépondre