0

파일 공유 웹 응용 프로그램을 만들고 있습니다.이 응용 프로그램은 jsp 및 servlet, MySql, Apache tomcat 6.0 웹 서버 및 Eclipse Juno IDE를 사용하여 개발 중입니다. 내 전문가 수준은 이러한 주어진 기술을 초보자입니다.jsp 및 servlet에서 파일 공유 웹 응용 프로그램을위한 웹 응용 프로그램 설정을 디자인합니까?

이 응용 프로그램에는 파일 업로드 유틸리티가 있습니다. 이 유틸리티 아래에서 사용자는 HTML 양식의 파일에 관한 몇 가지 기본 정보를 입력하고 찾아보기 단추를 사용하여 로컬 시스템의 파일에 대한 경로를 제공합니다. 사용자가 제출 단추를 클릭하면 양식의 데이터가 데이터베이스에 저장되고 파일은 응용 프로그램에서 지정한 수정 공통 위치의 서버에 업로드됩니다. 파일을 서버에 업로드하는 동안이 유틸리티는 지정된 수정 위치에 디렉토리를 만들고이 생성 된 디렉토리에 파일을 업로드합니다.

나는 전문가의지도와 해결책을 원한다는 점에서 다음 질문과 의문점이 있습니다.

  1. 현재 동일한 컴퓨터에 웹 서버와 데이터베이스 서버가 있고 업로드 된 파일도 응용 프로그램 디렉토리의 동일한 웹 서버에 있습니다. 업로드 된 파일을 매우 안전하게 보관하려고합니다. 나는 이런 종류의 설치가 올바른지 또는 같은 상황에 대한 다른 안전하고 완벽한 설치 디자인이 있는지 전문가에게 묻고 싶습니다.

  2. 응용 프로그램에 로그인 한 사용자 수는 아직 결정되지 않았지만 소수에서 수천까지입니다. 파일 업로드 횟수에 제한이 없습니다. 수정 공통 위치에있는 모든 사용자들에 의해 업로드 된 파일의 그래서 결국 전체 크기는 GB의 또는 몇 TB의이 항상있는 것처럼

  3. 환영에 대한 디스크 공간이 필요하지만 아직 제안 및지도에 관한 현재 문제없이 될 수 있습니다 위에서 언급 한 프로세스는 주어진 위치에서 디렉토리를 생성해야합니다. 서버의 서버 또는 다른 보안 응용 프로그램이 일반적인 위치를 수정하는 비행시 디렉토리를 만들 수있게 할 것인가?

  4. 업로드 된 파일을 자체 웹 응용 프로그램 폴더에 저장하는 것이 좋습니까?

감사합니다!

답변

1

1) 데이터베이스에 업로드 된 파일을 저장하는 것이 좋습니다. 이러한 방식으로 디렉토리의 파일을 정렬 할 필요없이 추가 된 보안 및 안정적인 스토리지의 추가 레이어 (db 보안)를 갖게됩니다.

2) 디스크 저장소를 결정하려면 업로드 할 평균 파일 크기와 응용 프로그램을 사용하는 사용자 수를 미리 알아야합니다. 위의 내용을 고려하여 데이터베이스를 사용하는 경우 필요에 따라 추가 확장 성을 위해 데이터베이스 크기를 확장 할 수있는 방법이 있습니다.

3) 예. OS에서 권한을 부여 할 수있는 한 디렉토리를 만들 수 있습니다.

4) NO! 하지 마. 응용 프로그램을 다시 배포하려는 경우를 생각해보십시오.

+0

감사합니다. 선생님! 귀하의 회신을 위해. 포인트 4에 대한 귀하의 회신에 관해서는 매우 중요하며 귀하가 언급 한 사례를 잊어 버렸습니다.그러나 웹 응용 프로그램 폴더를 만드는 대신 내 웹 응용 프로그램 폴더가있는 디렉터리와 동일한 수준으로 디렉터리를 만드는 것이 어떻습니까? 이 폴더에 대한 경로를 지정하고이 폴더에 하위 디렉토리를 만들 수 있습니까? –

+0

서버 버전을 업그레이드하거나 완전히 변경 한 경우 서버 설치 폴더에 디렉토리를 만들지 않는 것이 좋습니다. 나는 보안 문제를 남겨두고있다 .... 나는 별도의 드라이브 (파티션)에 디렉토리 구조를 만들고이 경로를 내 응용 프로그램의 속성 파일에 하드 코딩했습니다. – MaVRoSCy

+0

감사합니다 선생님! 당신은 내 설계에서 중요한 문제 중 하나를 다시 지적했다. 위의 주석에서 별도의 드라이브에 디렉토리 구조를 만드는 것이 좋지만, 안전하지 않을 수도 있다고 말한 것입니다. 그래서 파일을 저장하기 위해 별도의 FTP를 만들었고 사용자가 파일을 업로드 할 때마다 위의 FTP에 응용 프로그램이 연결될 때마다 새 디렉토리가 만들어지고 파일이 업로드됩니다. 따라서 애플리케이션 재배포, 서버 업그레이드 또는 보안 위협에 대해서는 아무런 문제가 없습니다. 이것에 대한 당신의 견해는 무엇입니까? 코멘트는 다음 댓글에서 계속됩니다. –