2012-06-03 3 views
4

저는 (JSF 및 다른 Java EE 구성 요소를 배우면서) Java에 익숙하지 않으며 매우 기본적인 질문이 있습니다.Servlet 대 Beans

Beans로 많은 일을 할 수있을 때 서블릿이 필요한 이유는 무엇입니까? Bean에서 수행 할 수없는 서블릿에는 무엇이 있으며 어떻게 웹 기반 애플리케이션에서 Bean보다 Servlet을 더 잘 사용 하는가?

답변

6

JSF를 사용하면 기본적으로 이미 FacesServlet이라는 서블릿을 사용하고 있습니다.이 서블릿을 사용하면 JSF를 실행하기 위해 web.xml에 이미 등록되어있는 것 같습니다. 요청 매개 변수를 수집, 변환/유효성 검사, javabean 속성 업데이트, 동작 호출, 올바른보기 탐색과 같은 반복 작업을 수행하기 위해 서블릿을 작성할 필요가없는 서블릿입니다.

JSF에서는 이러한 작업을 수행하기 위해 추가 서블릿을 작성할 필요가 없습니다. 관리 Bean을 컨트롤러로 만들고 선언하면 뷰에서 UI 구성 요소에 바인딩되는 모델로 간단한 javabean 클래스가 유지됩니다.

하지만 JSF는 한번도 JSF를 배웠던 적이 없으며 접촉 양식 만있는 2, 3, 4 개의 웹 페이지를 원할 때마다 JSF가 과도하거나 너무 어렵습니다. JSF는 상대적으로 가파른 학습 곡선을 가지고 있으며 HTTP 서블릿에 대한 확실한 이해가 필요합니다. "일반 바닐라"서블릿과 JSP를 사용하면 개발하기가 더 쉽습니다. 그러나 사이트가 국경 밖으로 벗어날 때마다 일반적인 작업을 복사/리팩토링하기 시작하면 미리 MVC 프레임 워크를 선택했다면 기쁠 것입니다.

+0

감사합니다. 정보는 BalusC를 참조하십시오. – user1433804

3

빈을 사용하여 데이터를 나타냅니다. 프로세스를 제어하기 위해 서블릿을 사용해야합니다.

MVC (Model, View, Controller) 패턴에서 Beans는 데이터 중심이며 데이터를 나타내며 도메인 객체 또는 간단한 데이터 구조로 작동하는 모델입니다.

서블릿은 올바른 모델을 호출하고 올바른 순서로 디스패치하는 컨트롤러입니다. 그것들은 사용자 요청을 얻고이를 모델에 대한 올바른 입력으로 변환하는 데 사용될 수 있습니다.

나는 대답이 매우 높은 수준이라는 것을 알고 있지만 MVC 패턴을 읽으려고하면 아이디어를 더 잘 얻을 수 있습니다.