포틀렛과 서블릿의 차이점은 무엇입니까?
나는 포틀렛과 포털에서 일하도록 요청받았다.
포틀렛과 서블릿의 차이를 알고 싶습니다.
포틀렛과 서블릿의 차이점(기능상 차이가 있을 수 있음)
소스부터 확장:서블릿과 포틀렛의 비교
유사점들
서블릿 및 포틀렛은 구현에 Java를 사용하는 웹 기반 구성 요소입니다.
서블릿이 서블릿 컨테이너에 의해 관리되는 것처럼 포틀렛은 포틀렛 컨테이너에 의해 관리됩니다.
포틀렛과 서블릿은 정적 콘텐츠와 동적 콘텐츠를 모두 생성할 수 있습니다.
포틀렛 및 서블릿의 수명 주기는 컨테이너에 의해 제어됩니다.
클라이언트/서버 모델은 서블릿과 포틀렛 모두에 사용됩니다.
패키징과 도입은 기본적으로 동일합니다(WAR/EAR).
Application Session은 Servlet 및 포틀렛 컨테이너에 모두 존재합니다.포틀렛 컨테이너에서 렌더링 단계에서 작업 단계(또는 하위 단계)로 데이터를 공유하는 방법 중 하나입니다(포틀렛 간 통신).
서블릿과 포틀렛 모두 서블릿을 지원하는 유사한 서버/VM 환경을 사용합니다.단, 포틀렛을 체크하기 위해 몇 가지 추가 설정이 필요할 수 있습니다.
빌드/DI 도구는 Ant, Maven, Gradle 등이 모두 지원됩니다.대부분 :) - 이것은 Liferay 7에서 조금 변경되었습니다.
차이점
서블릿은 완전한 웹 페이지를 렌더링할 수 있는 반면 포틀렛은 html fragment를 렌더링합니다.이러한 fragment는 포털에 의해 완전한 웹 페이지로 집약됩니다.
JSR 168 포틀렛의 콘텐츠유형은 cHTML, XHTML, WML 뿐입니다.다른 콘텐츠유형은 지원되지 않습니다.
포틀렛은 본문, 프레임, 프레임셋, 헤드, html, 제목 등의 태그를 포함하는 HTML 코드를 생성할 수 없습니다.
서블릿과 달리 포틀렛에는 URL이 첨부되지 않으므로 직접 액세스할 수 없습니다.접근은 포틀렛이 있는 포털 페이지를 통해서만 가능합니다.
포틀렛에는 창 상태 또는 포틀렛 모드를 조작하는 컨트롤이 제공됩니다.
단일 포틀렛의 여러 인스턴스를 동일한 페이지에 배치할 수 있습니다.
포틀렛은 지속적인 구성 및 맞춤, 프로파일 정보를 지원합니다.
포틀렛에는 두 가지 유형의 요청 바이즈가 있습니다.요청 및 작업 요청을 렌더링합니다.
포틀렛에는 두 가지 범위가 있습니다. 즉, 포틀렛 간 통신을 위한 애플리케이션 범위와 포틀렛 내 통신을 위한 포틀렛 범위입니다.
포틀렛은 응답 문자 집합 인코딩을 설정할 수 없으며 HTTP 응답 헤더를 설정할 수도 없습니다.
포틀렛은 요청 URL에 대한 액세스 권한이 없으므로 URL에 추가된 쿼리 매개 변수에 액세스할 수 없습니다. 포틀렛은 쿠키를 설정할 수 없습니다.
인 방법은 포틀렛 입니다.
doView()
,doEdit()
,doHelp()
★★★★★★★★★★★★★★★★★」processAction()
service()
,doPost()
,doGet()
.서블릿 사양 - JSR 369(서블릿 4.0), JSR 340(서블릿 3.1), JSR 315(서블릿 3.0), JSR 154(서블릿 2.5 및 2.4).포틀렛 사양 - JSR 168(포틀렛 사양 v1.0), JSR 286(포틀렛 사양 v2.0), JSR 362(포틀렛 사양 v3.0)
포틀렛 도입에는 Servlet 어플리케이션과는 다른 접근법이 필요합니다.일부 프로바이더(Liferay/Alfresco/WebSphere)는 OSGi 등의 특수 라이브러리를 사용하여 애플리케이션을 모듈화하지 않고 서버를 재시작할 필요 없이 포틀렛의 핫 배포를 지원합니다.
편집 (댓글에서)
포틀렛 컨테이너는 Servlet 컨테이너에 구축됩니다.따라서 궁극적으로 포틀렛은 서블릿 컨테이너에서 실행된다고 할 수 있습니다.그러나 앱을 개발하는 동안 우리는 Servlet/Java EE 컨테이너와 별도로 포틀렛 컨테이너를 봅니다.
포틀렛은 포털컨테이너 및 컴포넌트를 규제하는 JSR-168 규격의 일부입니다.이는 웹 컨테이너(및 서블릿)의 표준과 다릅니다.이 두 표준 사이에는 분명히 유사한 점이 있지만 컨테이너, API, 수명 주기, 구성, 배포 등에서 차이가 있습니다.
포틀렛과 서블릿의 가장 큰 차이점은 서블릿이 항상 단일 유형의 작업, 즉 요청, 수명 주기의 특성과 더 강력한 컨테이너 바인딩에 따라 포틀렛은 렌더링 및 요청의 두 가지 유형의 작업에 응답해야 한다는 것입니다.물론 더 많은 것들이 있지만, 저는 포털 개발을 연구하면서 이 두 가지의 핵심 차이점을 발견했습니다.
포틀렛과 서블릿은 모두 http 요청을 수신하고 응답을 반환합니다.이것은 보통 브라우저에서 렌더링할 수 있는 HTML입니다.포틀렛은 "포털"의 맥락에서 사용됩니다. 즉, 사용자가 보는 단일 페이지에는 여러 개의 부분, 즉 생각 타일이 있으며 각각 다른 포틀렛에서 가져온 것입니다.
포틀렛의 추가 비트는 포털에서 제공하는 보다 풍부한 환경에 있으며, 포틀렛에 표시되는 내용을 개별 사용자가 원하는 대로 구성할 수 있도록 추가 API가 제공되며 포틀렛의 추가 비트는 일반 서브렛에서 "타일" 효과를 얻을 수 있습니다(방법은 Struts + 타일 참조).서로 의사소통 - 버튼을 누르면 다른 버튼에서 어떤 일이 발생합니다.
서블릿에는 Java 정의(HTTP GET/POST 요청을 처리하는 응용 프로그램)가 있으며, 포틀렛에는 사용자 인터페이스 정의가 있습니다.Windows Vista 위젯과 유사한 특정 기능을 수행하는 컴포넌트 또는 stackoverflow에 사용되는 많은 컴포넌트.서버측에서 반드시 서블릿을 사용할 필요는 없습니다.그러나 포틀렛 표준은 Java와 함께 개발되었습니다.오라일리가 좋은 튜토리얼을 준비했어
기본적으로 Servlet은 브라우저에서 일반적으로 전체 페이지를 차지하는 내용을 제공하고(프레임 사용 중이 아닌 경우), 포틀렛은 창에 둘러싸인 내용을 제공합니다.포틀렛을 사용하면 여러 포틀렛을 서로 나란히 배치할 수 있으며 각각 다른 콘텐츠와 기능을 제공할 수 있습니다.포틀렛은 한 유형의 응용프로그램에 대한 완전한 상호 작용을 제공하는 반면, 다른 포틀렛은 다른 유형의 응용프로그램에 대한 컨텐츠를 제공할 수 있습니다.포털은 몇 가지 하우스 키핑 기능과 페이지 상의 모든 포틀렛에 대한 안전한 단일 진입점을 제공할 수 있습니다.자세한 내용(유사점/차이점)은 계속 읽어주세요.다음은 몇 가지 유사점입니다.서블릿과 포틀렛은 구현에 Java를 사용하는 웹 기반 컴포넌트입니다.포틀렛은 서블릿 컨테이너와 유사한 포틀렛 컨테이너에 의해 관리됩니다.두 컴포넌트 모두 콘텐츠를 생성합니다.이러한 컴포넌트는 정적 또는 동적일 수 있습니다.
언급URL : https://stackoverflow.com/questions/1480528/what-is-the-difference-between-a-portlet-and-a-servlet
'programing' 카테고리의 다른 글
MySQL에서 sqlalchemy 연결을 닫는 방법 (0) | 2022.10.08 |
---|---|
DB에서 설정을 가져오는 함수에서 오류가 발생했습니다. (0) | 2022.10.08 |
TDD용 JavaScript 유닛 테스트 도구 (0) | 2022.10.08 |
Symfony 3.4.6 - 10.1.37-MariaDB-0+deb9u1 - 인덱스 열 크기가 너무 큼 (0) | 2022.10.08 |
치명적 오류: 문자열에 대해 [] 연산자가 지원되지 않습니다. (0) | 2022.10.08 |