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

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

高洛峰
高洛峰

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

membalas semua(2)
PHPzhong

Pernahkah anda melihat mana-mana projek sumber terbuka yang menggunakan doGet untuk menulis doPost atau public? Sekurang-kurangnya saya tidak melihatnya.

Skop

hendaklah sekecil mungkin (jika anda boleh menggunakan private, jangan gunakan protected, jika anda boleh menggunakan protected, jangan gunakan public Ini adalah prinsip yang perlu diikuti dalam pengekodan.

迷茫

Akses kaedah perkhidmatan dahulu, dan kemudian gunakan kaedah perkhidmatan untuk menentukan sama ada hendak menggunakan kaedah doget atau dopost Walau bagaimanapun, servlet yang kami tulis mewarisi HttpServlet dan menulis semula doget dan doPost kelas induk, jadi kami mesti menggunakan awam. . Java mereka bentuk kaedah ini untuk meningkatkan kebenaran supaya subkelas boleh memutuskan sama ada kaedah mereka boleh dibuka kepada pemanggil. Jika subkelas dilindungi, bekas servlet juga boleh mengaksesnya. Secara amnya, kebenaran akses untuk kaedah kelas induk yang ditindih ialah >= kaedah kelas induk.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan