2012-06-22 5 views
2

인터넷에서이 기사를 읽을 수 없습니다. GWT 응용 프로그램의 다른 서버에있는 자신의 SQL 데이터베이스를 통신합니다. 부두에서 허용하지 않습니다. GWT에서 SQL 데이터베이스에 어떻게 액세스합니까?

나는 어떻게 그것을 수행하는 방법을 발견하지만 아주 아늑한 아니다. GWT 안에 클라이언트와 서버 파트가 있습니다. 서버는 localhost의 MySQL 데이터베이스와 통신해야합니다. 그래서 아파치 톰캣 서버에서 시작할 수있는 전쟁을 만들기 위해 개미 스크립트를 작성했습니다. 완벽하게 작동하지만 코드를 효과적으로 디버깅 할 수는 없습니다.

이 작업을 수행하는 방법에 대한 조언이 있습니까? 나는 GWT에서만 클라이언트를 작성하고 GWT 외부에서 작성된 내 자신의 서버와 통신하는 방법을 찾는다. Apache GWT 용 Thrift를 찾았으나 편집 된 중고품 라이브러리가 제대로 작동하지 않는 것 같습니다.

는 귀하의 답변 주셔서 감사합니다 :)

+0

"부두에서 허용하지 않습니다." GWT의 DevMode에 임베디드 서버에 대해 이야기하고 있다고 가정합니다. 어떤 경우에는 실수로 Eclipse에서 'App Engine'을 사용하도록 설정했을 가능성이 있습니다 (실제로 서버 측에서 수행 할 수있는 작업을 제한하여 실제로 Google 호스팅의 제한 사항을 모방합니다). –

+0

아니요 :) 불가능합니다. 나는 서버 측 GWT를 가지고 있고 이것은 MySQL 데이터베이스와 통신해야한다. 문제는 Jetty (GWT의 응용 프로그램 서버)가 자신의 데이터베이스에 대한 연결을 거부한다는 것입니다. – Reshi

+0

그래서이 옵션을 비활성화하면 정상적으로 작동합니까? – Reshi

답변

2

GWT 응용 프로그램에서 데이터베이스와 통신 할 수 있습니다. 클라이언트 측은 어떤 데이터베이스와도 통신 할 수있는 GWT-RPC를 통해 서버의 메소드를 호출해야합니다.

아마 부두는 (개인적으로 그것을 테스트하지 않은)를 지원하지 않습니다하지만 당신은 너무 아파치를 사용하여 웹 응용 프로그램을 개발할 수 있습니다. 거기 당신은 모든 웹 응용 프로그램에서 같은 데이터베이스 같은 방법으로 액세스 할 수 있습니다 다음 $CATALINA_HOME/common/lib 디렉토리에 추가 서버를 다시 시작 : 당신은 (http://dev.mysql.com/downloads/connector/j/에서 다운로드)를 mysql-connector-java-5.1.20-bin.jar 파일이 필요합니다

.

또는 웹 응용 프로그램의 WEB-INF/lib 폴더에 추가.

온라인으로 대신 부두의 Tomcat을 사용하는 응용 프로그램을 개발하는 방법에 대한 자습서를 찾을 수 있습니다. 예를 들어 : https://wiki.auckland.ac.nz/display/BeSTGRID/Deploying+GWT+to+Tomcat+in+Eclipse

0

Reshi 중지하고 응용 프로그램이 실제로 어떻게 작동하는지에 대해 생각합니다. 아무도 데이터베이스를 읽거나 쓸 수있는 자바 스크립트가있는 웹 페이지를 제공하지 않습니다. 이 경우 모든 서버는 항상 서버에 있습니다. 서버 내부에서 실행되는 서비스를 만들어야하는데,이 서비스 중 하나는 데이터베이스 계층이 될 것입니다.

자바 스크립트가 네트워크 연결을 생성하지 못할와 바이너리 데이터를 읽기/쓰기, 따라서 어떤 JDBC drvier 등을 컴파일 GWT 컴파일러를 얻기 위해 시도하는 미친 것입니다.

+0

클라이언트에서 데이터베이스에 직접 액세스 할 수 없다는 것을 알고 있습니다 :) GWT의 프로젝트에 GWT 클라이언트가 있습니다. 측면 및 GWT 서버. – Reshi

+0

GWT 응용 프로그램의 서버 부분에서 MySQL 데이터베이스에 액세스하려고했지만 Jetty (응용 프로그램 서버에 내장 된)가 MySQL 데이터베이스에 대한 연결을 거부했습니다.그리고 Jetty에서 GWT 서버로부터 자신의 데이터베이스 서버에 액세스하는 것은 불가능하다는 것을 알았습니다. 유일한 방법은 Google의 데이터 소스를 사용하는 것입니다. 이제는이 방법으로 작업하고 있습니다. 프로젝트에서 무언가를 테스트해야 할 때마다 자체 .war 파일을 만듭니다. 그리고 Tomcat에 배포하십시오. – Reshi

+0

하지만 시간당 6 번해야한다면 많이 씁니다. 그래서 나는 GWT에서 Jetty를 사용하거나 Jetty (doesnt matter)를 사용하지 않고 데이터베이스에 접근하는 방법을 찾기 위해 노력했다. – Reshi

0

부두는 데이터베이스 연결을 중단하지 않습니다. MVP 모델 방식을 따르기 만하면됩니다. MVP가 모든 장애물에 대해 최상의 선택이지만, 최소한의 시점에서는 클라이언트 패키지에 SQL 코드가 없도록 시도해야합니다.

관련 문제