문제

나는 새로운 시작 Java Web 프로젝트는 최대 절전 모드를 사용하여 표준 MVC 공합니다.나는 단지 시작에 레이아웃 프로젝트 구조물이고 이것을 하고 있는 동안 내가 찾기 시작 주위에 있었다 있는지 확인하기 위해 어떤 표준이 지역에 위치에 대한 컨트롤러 가야하고 일반적으로 최고의 방법이 모든 것을 배치.그러나 내가 정말 발견된 모든 가이드 라인.

그래서 나는 호기심을 알

  • 은 누구나 알고 있의 모든 최고의 연기 위한 지침의 레이아웃 Java Web 프로젝트가 있습니까?
  • 누군가 특정의 하드는 규칙들은 항상 따라 다른 유형의 프로젝트가 있습니까?
  • 사람들이는 경향이 있을 분 패키지는 다양한 레이어와 같은 프리젠 테이션,비즈니스,그리고 응용 프로그램?
도움이 되었습니까?

해결책

을 계속 내 이전 답변,나는 많은 웹사 프로젝트입니다.모든 그들의 구조 아래에서 src 은 더 많거나 적은 동일합니다.패키지 약로 구분 3 논리적 레이어입니다.

첫번째는 프레젠테이션 층에,당신이 말했듯이,대한 servlets,응용 프로그램 리스너들이 준비되어 있습니다.

둘째,계층에 대한 최대 절전 모델/db 액세스를 계층입니다.세 번째 층은 비즈니스를 위한 논리입니다.그러나 때때로 사이의 경계 이러한 레이어는 명확하지 않습니다.는 경우는 최대 절전 모드를 사용하여 db 에 대한 액세스를 다음의 모델에 의해 정의된 절전 클래스는 그래서 나는 그들과 같은 지역에 dao 개체입니다.E.g.com.샘플입니다.모델에는 최대 절전 모드 데이터를 객체 설문 조사를 진행하고 있습니다.샘플입니다.모델입니다.dao 보 dao 개체입니다.

를 사용하는 경우 직 jdbc(일반적으로 봄),다음은 때때로 내가 찾는 것이 더 편리 데이터를 넣어 가까운 객체는 비즈니스 로직 레이어가 아닌 가진 db 액세스를 계층입니다.

(의 나머지 물건은 일반적으로 아래에 비즈니스 레이어)입니다.

다른 팁

실제로 웹 프레임 워크에 따라 다릅니다.

예를 들어, 개찰구를 사용하는 경우 Java 파일 및 웹 페이지는 동일한 디렉토리에 공존하는 반면 대부분의 다른 프레임 워크, 페이지 (.jsp 파일 또는 프레젠테이션 엔진) 및 코드-비만 재료 (Java 파일)에서는 완전히 분리됩니다.

따라서 프레임 워크 (Spring MVC, Struts, JSF 등)와 함께 제공되는 문서를 읽으십시오.

또 다른 좋은 제안은 Maven 아키 타입을 사용하여 특정 프레임 워크에 대한 골격을 생성하는 것입니다. 일부 웹 프레임 워크 (예 : 솔기)에는 웹 프로젝트의 기초를 제시하는 자체 코드 생성 도구도 있습니다.

SRC 디렉토리에 대한 나의 유일한 좋은 제안 (Yoni가 언급하지 않음)은 유형/계층에 따라 비즈니스 목적에 따라 패키지를 만드는 것입니다.

그것은 패키지를 의미합니다

  • com.mycompany.myproject.customers
  • com.mycompany.myproject.departments
  • com.mycompany.myproject.billing
  • com.mycompany.myproject.reports
  • com.mycompany.myproject.admin

그리고 아닙니다

  • com.mycompany.myproject.entities
  • com.mycompany.myproject.tables
  • com.mycompany.myproject.graphs
  • com.mycompany.myproject.dialogs
  • com.mycompany.myproject.servlets

두 번째 구조는 너무 일반적이며 관련이없는 물건을 가진 거대한 패키지를 해결하는 경향이 있으며 유지하기가 어렵습니다.

먼저, 인기있는 IDE, ALA ECLIPSE, NETBEANS 등의 기존 구조를 따르는 것은 일식에서 모든 것이 이미 웹 -INF 및 메타 인프 폴더로 배열되어 있으므로 포장 및 배포가 쉽습니다. 클래스 소스 코드 (일반적으로 SRC에 따라)는 자동으로 웹 -INF/클래스에 복사됩니다. 몇 가지 다른 고려 사항이 있습니다.

  1. MVC를 사용하는 경우 JSP에 직접 액세스 할 필요가 없습니다. 그렇다면 보안상의 이유로 JSP 소스 코드를 Web-INF/JSP 아래로 유지하십시오.
  2. 마찬가지로, 사용자 정의 태그 파일을 Web-Inf/Tags 아래에 보관하십시오.
  3. JavaScript 파일을 JS 폴더, CSS 파일에 스타일 폴더 등에 보관하십시오. 모든 폴더는 실제 배포를 모방하려면 Web-Inf와 동일한 수준이어야합니다.
  4. 레이어에 따라 코드를 패키지로 분리하는 것이 좋습니다. 분명히 귀하의 최대 절전 모드 다오는 서블릿과 같은 패키지에있을 필요가 없습니다.
  5. 동일한 패키지에 너무 많은 서블릿으로 끝나면 기능에 따라 서브 포장을 고려하지만 일반적인 조상 패키지가 있다는 것이 좋습니다. 가독성에 도움이됩니다.

사용 Maven WebApp 아키타 타입 레이아웃.

project
|-- pom.xml
`-- src
    `-- main
        |-- java
        `-- webapp
            |-- WEB-INF
            |   `-- web.xml
            `-- index.jsp

나는 그것을 포함시켰다 java 여기 예제의 폴더는 아마도 명백했을 수도 있지만 어떤 이유로 위의 링크에 빠졌습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top