java - 重写HttpServlet的doGet、doPost方法时为什么要把它们的访问权限设为public?
高洛峰
高洛峰 2017-04-18 10:52:23
0
2
985

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(2)
PHPzhong

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.

迷茫

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal