【发布时间】:2012-04-10 09:35:41
【问题描述】:
我正在使用 java 和 eclipse 设计一个 web 服务,它返回在数据库中标记为客户的用户详细信息
我成功地使用以下代码返回了单个用户的详细信息(因为 dB 中只有一个条目):
public class GetData {
public LoginDetails getDetails(){
Connection conn;
Statement stmt;
ResultSet rs;
try {
LoginDetails lds=new LoginDetails();
Class.forName(driver);
conn=DriverManager.getConnection(url,username,password);
stmt=conn.createStatement();
String sql="select * from login where usertype='customer'";
rs=stmt.executeQuery(sql);
while(rs.next()){
lds.setUsername(rs.getString(1));
lds.setPassword(rs.getString(2));
lds.setUsertype(rs.getString(3));
lds.setActive(rs.getString(4));
}
return lds;
}
catch(ClassNotFoundException c){
c.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
如果有多个 dB 值符合条件并且我想全部显示,我该怎么办。请指教。
【问题讨论】:
-
您可以返回List<LoginDetails>
-
我只返回一个
List<LoginDetails>或LoginDetails[]。但有一件事,我认为从安全角度来看返回用户密码并不明智。 -
@beny23 是的,我只是想了解服务如何在 dB 中的现有条目上工作。这就是我返回密码的原因。我的坏:)
-
@m0skit0 我尝试使用 List 和 Collection 但它们都产生相同的结果对象引用。
-
为每个对象创建一个新对象。你不能像现在这样重复使用同一个 (
lds)。
标签: java web-services jax-rpc