我是GWT的新手.我正在尝试连接其中的mysql服务器.
以下是我的项目层次结构:
项目名称hello
和包名称是com.hello
.默认情况下,GWT会创建3个文件夹
包含GWT入口点的主java文件位于com.hello.client文件夹中,名称为hello.java
我创建了一个类db_conn(文件名是db_conn.java),其中包含与mysql数据库连接所需的所有代码.此文件放在com.hello.server
文件夹中.以下是代码
package com.hello.server;
import java.sql.Connection;
import java.sql.DriverManager;
public class db_conn
{
public Connection con;
public db_conn()
{
}
public String ConnectToDB()
{
try
{
String host = "localhost";
String db = "test";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "pwd";
Class.forName(driver).newInstance();
con = DriverManager.getConnection(host+db, user, pass);
return "Connected to Database";
}
catch(Exception ex)
{
return ex.toString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在hello.java文件中(位于com.hello.client文件夹中并包含GWT的主要入口点)我已经导入了上面的类 import com.hello.server.*;
当我试图使用ConnectToDB()
函数从db_conn
类上onModuleLoad()
的hello.java,这是给我下面的错误:
com.hello.server.db_conn can not be found in source packages. Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly.
代码片段窗口显示了db_conn类,但是当我使用这个类时,它会给我错误.我无法弄清楚确切的问题.请帮忙.
谢谢
您的客户端文件应该只包含GWT可以实际编译到JavaScript的代码.所以你必须删除
import com.hello.server.*
来自客户端代码.您必须做的是在客户端代码中添加服务接口,然后在服务器中实现此接口.
所以你的项目布局最终应该是这样的
客户端代码(编译成JavaScript)
com/hello/client/HelloService.java
com/hello/client/HelloServiceAsync.java
服务器和客户端共享的RPC代码(也编译成JavaScript)
COM /你好/共享/ HelloModel.java
实现HelloService并使用HelloModel的服务器代码(加上引用您的MySQL连接).
COM /你好/服务器/ HelloServiceImpl.java
归档时间: |
|
查看次数: |
8384 次 |
最近记录: |