JAVA制作C/S模式的系统,例如我想做一个信息管理系统。有种模式就只是客户端直接和 SQL sever 相连接的形式,但是这样做我知道是非常的不好的。所以我自己在想用三层的模式去做,客户/服务/数据库 这样来做, 服务和数据库同在一台计算机上,然后等待用户的访问,而服务器与数据库打交道然后返回信息给客户端。现在有个问题在捆饶我的就是,客户是通过IO流把数据库传到服务端的,在JAVA数据库的访问机制里面 查询数据是用 executeQuery(String) 方法,而添加、修改、删除等是用executeUpdate(String)方法来实现的,那我想问当用户把一个String型的数据流到服务器的时候,怎么样判断到底他是什么样的查询还是添加、修改、删除等呢?因为我要判断才能知道他是什么语句才能通过服务端与数据库进行访问。或者我自己不是很明白设计思路,望高手能指教一二,谢谢。
如果用socket,先要确定消息的格式(也可叫通讯协议),服务器接受请求后根据消息的格式再决定进行何种处理.
如果用http,去web开发版看看用jsp\servlet怎么做的.
简单举例说,我规定前6个字节是消息头,其中前两字节表示类型,后四字节表示消息长度。
你服务器端接受部分一次循环,先读前面6个节点,解析类型和长度len,根据类型你就知道是查询,更新还是其他任意定义的消息类型了,将后面len长的数据读出来,调用相应类型的处理程序就行了。