跟在其他java项目里面写的一样呀,没什么区别,如果是用连接池的话就更好写了,为什么用vb做客户端又不用.net做服务器端呢?C#的webservice也很方便呀.
解决方案 »
- 求一个SSH2加泛型的demo
- 注册弹出新窗口
- 基于J2EE的IPTV Boss系统 价格500以上
- Tomcat 6.0 下 我的数据库jar包 该往哪里放?
- 【求解答】Java 通过WebSwervice实现客户端上传文件到服务器端
- tiles2 某个页面需要初始化怎么办
- 高分!最近这个项目,发现了一个问题,应该是死锁,尽管最终自己解决了,但是始终想不通原因,还望各位指教
- 求助:第一个hibernate程序就出错了。。。。
- struts字符串拼接之后获得map的key再取出对应的value
- 这样的奇葩需求,各位觉得有解吗
- 如何用XMLSPY来根据XML的内容生成schema??
- hibernate两个表主键名称不一样该如何写关联??
1. ---Servlet接受客户端(比如VB)过来的请求
2. ---Servlet调用相应的逻辑类去数据库查找,并转换到持久化类
3. ---所有的持久化类都实现了toXMLDocument,将查询结果通过Dom4j或JDom转换成XML
4. ---Servlet向客户端输出XML
5. ---客户端用msxml解析结果
楼上的哥们,你还真是执著的推销你的理论阿。你实际用一次WebService就知道他的好处了。应用程序调用远程的WebService就像调用本地的Com组件 或者是 动态链接库一样。而且很多的动态库都提供了头文件吧,WebService也一样提供了类似的头文件,你只要引用一下,那完全就和调用本地方法一样了。那还用的着向你上面那么麻烦要分5部走呢!
我回了你的另外帖子
http://community.csdn.net/Expert/topic/4117/4117453.xml?temp=.1782801
另外需要说明的是--我发贴的目的是来推销什么,毕竟你我的时间都很宝贵,只是说出我的想法和做法,希望各位能帮助和指导我,对别的像我这样的新手也有借鉴作用,这样互相切磋我想对我们都有好处,毕竟碰撞产生火花嘛!不过我想像我这样的“低手”更需要你这种“高手”来呵护和指点,而不是训斥和嘲笑,这样违背了我们上CSDN的初衷。
再补充一点,“Servlet的客户端可以是.exe类型的应用程序么?”这种话像我这种没学过计算机的新人说说可以,作为高手犯这种常识性的错误就有点哪个了,指出来希望别介意!
import org.gjt.mm.mysql.Driver;
import java.sql.*;public class DbUtil {
public DbUtil(){}
private Connection con=null; public Connection getConnection(Connection con)throws
SQLException,Exception{
con=this.dbCon();
return con;
}
private Connection dbCon()throws ClassNotFoundException,SQLException,Exception{
String driver="org.gjt.mm.mysql.Driver";
String url ="jdbc:mysql://localhost:3306/test?user=root&password=";
try{
Class.forName(driver).newInstance();
con=DriverManager.getConnection(url);
}catch(ClassNotFoundException exp){
System.err.println("数据库驱动载入有错误:"+exp);
}catch(SQLException exp){
System.err.println("数据库连接有错误:"+exp);
}catch(Exception exp){
System.err.println("发现未知错误:"+exp);
}
return con;
}
public void release()throws Exception{
if(!(con==null))
con.close();
}
}
package samples.capacity;
import org.gjt.mm.mysql.Driver;
import java.sql.*;import java.io.Serializable;
import java.sql.*;
import samples.capacity.DbUtil;
public class search implements Serializable{
private Connection con=null;
private ResultSet rs = null;
private Statement stmt = null; public search() {
}
public String loginUser(String username,String password)throws SQLException,Exception
{
DbUtil db=new DbUtil();
con=db.getConnection(con);
stmt = con.createStatement();
String strSql = "select * from user where username = '"+username+"' and password = '"+password+"'";;
rs = stmt.executeQuery(strSql);
if (rs.next()){
return "welcome to here";
}else{
return "unsuccess";
}
}
}文件deploy1.wsdd<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="search" provider="java:RPC">
<parameter name="className" value="samples.capacity.search"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
客户端程序package axisexercise;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.rpc.ParameterMode;public class AXISTest
{
public static void main( String[] args ) throws Exception
{
Service service = new Service();
Call call = ( Call ) service.createCall();
call = ( Call ) service.createCall();
//设置访问点
call.setTargetEndpointAddress( "http://localhost:8080/axis/services/search" );
//设置操作名
call.setOperationName( "loginUser" );
//设置入口参数
call.addParameter( "op1", XMLType.XSD_STRING, ParameterMode.IN );
call.addParameter( "op2", XMLType.XSD_STRING, ParameterMode.IN );
call.setReturnType( XMLType.XSD_DOUBLE );
String s1 = new String( "123" );
String s2 = new String( "123" );
//调用服务
System.out.println(call.invoke( new Object[] {s1,s2}));
} }
只是部署的时候,要用相应的服务器部署(如axis).
把数据库相关程序部署完毕了以后,用vb调用就可以了。