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

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

高洛峰
高洛峰

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

모든 응답(2)
PHPzhong

doGet을 사용하여 doPost 또는 public을 작성하는 오픈소스 프로젝트를 본 적이 있나요? 적어도 나는 그것을 본 적이 없습니다.

의 범위는 최대한 작아야 합니다(private을 사용할 수 있으면 protected를 사용하지 말고, protected을 사용할 수 있으면 public을 사용하지 않는 것이 원칙입니다). 코딩에서 따라야 할 사항입니다.

迷茫

먼저 서비스 메소드에 접근한 후 서비스 메소드를 사용하여 doget 또는 dopost 메소드를 사용할지 결정합니다. 그러나 우리가 직접 작성한 서블릿은 HttpServlet을 상속하고 상위 클래스의 doget 및 doPost를 다시 작성하므로 반드시 공공의. Java는 하위 클래스가 해당 메소드를 호출자에게 공개할 수 있는지 여부를 결정할 수 있도록 권한을 늘리는 이 방법을 설계했습니다. 서브클래스가 보호되면 서블릿 컨테이너도 이에 액세스할 수 있습니다. 일반적으로 재정의된 상위 클래스 메서드에 대한 액세스 권한은 >= 상위 클래스의 메서드입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!