2009-06-15 3 views
3

나는 많은 회원 데이터를 저장하는 Tomcat에서 운영되는 웹 사이트에서 일하고 있으며, 최선의 패키지 방법을 모르겠습니다.웹 사이트를 가장 잘 포장하는 방법

먼저 전쟁에서 아무 것도 제거하지 않고도 쉽게 전쟁을 전개 할 수 있기를 원합니다.

내 첫 번째 생각은 회원 데이터를 전쟁 이외의 디렉토리에 저장하는 것이지만 내 문제는 해당 콘텐츠 중 일부가 웹 사이트 (이미지 등)에 링크되어야한다는 것입니다.

전쟁을 전개 한 다음 데이터를 복사하는 것보다 더 나은 해결책이 있어야합니다. 누구든지 어떤 제안이 있습니까?

+0

"회원 데이터"는 어떤 종류입니까? 사용자가 업로드 한 항목은 무엇입니까? 웹 응용 프로그램을 실행하는 다른 클라이언트에 대한 사용자 정의? 귀하의 질문에이 "회원 데이터"가 언제/왜 앱에서 제거되거나 추가되는지는 분명하지 않습니다. –

+0

예, 사용자가 업로드 한 내용입니다. 나는 그것을 제거하지 않고 불발탄 전쟁을 전개 할 수 있도록 그것을 제거하고 싶다. – Jesse

+0

배포 전에 사용자가 업로드 한 콘텐츠는 어떻게있을 수 있습니까? –

답변

4

첫 번째 생각이 정확했습니다. 외부 디렉토리에 데이터를 저장하는 것이 가장 좋은 방법입니다. 이미지 요청시 외부 디렉토리에 액세스하는 서블릿을 작성하여 이미지 관련 문제를 쉽게 해결할 수 있습니다.

내 코드를 게시 할 수 없지만 여기에 응답을 생성하는 유사한 스 니펫이 있습니다. FileServlet을 확장하는 클래스를 만들고 디렉토리에서 파일을로드하는 코드를 작성하면됩니다.

http://snippets.dzone.com/posts/show/4629

다음, 당신의 web.xml에 이것을 추가 :

<servlet> 
    <servlet-name>My File Servlet</servlet-name> 
    <servlet-class>my.package.FileServlet</servlet-class> 
    <load-on-startup>0</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>My File Servlet</servlet-name> 
    <url-pattern>/upload/*</url-pattern> 
</servlet-mapping> 

http://myapp.com/upload/userimage.jpg 같은 모든 링크가 당신은 확실히 당신의 응용 프로그램에서 데이터를 분리해야한다 서블릿

+0

이것이 내가 생각한 것입니다. 그러나 서블릿을 수행하는 방법을 생각할 수 없었습니다. 말해줘, 회원 dir/usr/members 밖으로 나옵니다. 링크를 다시 시도하면 컨테이너가 해당 링크를 찾을 수 없습니다.서블릿에서 무엇을해야합니까? – Jesse

+0

더 많은 설명과 코드를 추가했습니다. – GvS

+0

많은 감사. 방금 테스트를 해봤는데 대단 했어요! – Jesse

1

에 의해 만들어집니다. 원래 회원 데이터 (분명히 이미지와 다른 것)를 넣었던 이유에 대해 확신 할 수 없기 때문에보다 이상적인 환경을 바탕으로 제안을 제공 할 수 있습니다.

많은 사람들에게 정보를 저장하고 여러 곳에서 액세스해야하는 경우 왜 데이터베이스를 사용하지 않을 것입니까? PostgreSQL이나 MySQL과 같은 무료 서비스일까요?

데이터를 데이터베이스에 저장하는 경우 하이버 네이트와 같은 ORM 또는 일부 기본 JDBC 라이브러리를 사용하여 Java를 통해 쉽게 검색 할 수 있습니다. 여기서는 Java에서 SQL과 데이터베이스 계층을 이해한다고 가정합니다.

특정 파일에 대한 액세스가 필요한 경우 서비스 지향 아키텍처 (SOA)를 만들고 편안한 웹 서비스를 사용하여 URL을 기반으로 이미지를 가져올 수 있습니다. 이렇게하면 스토리지를 트러스트 영역의 다른 시스템으로 오프로드 할 수 있습니다.

문제 및 서버 설정에 대한 세부 정보 없이는 좋은 해결책을 제시하기가 어렵습니다.

+0

이미 db를 사용하여 회원 데이터를 저장하고 있지만 이미지와 같은 파일 저장 공간이 필요합니다. 그것이 왜 그런지에 관해서는, 잘, 그것은 나의 선택이 아니었다. 사이트에 표시하기 위해 이미지에 쉽게 액세스 할 수 있다고 가정합니다. – Jesse

관련 문제