网页从数据库调用数据问题

网页从数据库调用数据问题,第1张

百度查下jquery,然后用jquery调用ajax,ajax会从网页前端向后台请求数据,请求到数据后,用jquery将获取到的数据添加到页面。页面的显示隐藏也可以jquery实现。jquery调用ajax例子如下:

$(document).ready(function(){

$.post("getListersList.action",{},function(data,textStatus){ //getListersList.action是后台程序

var obj=data //data是后台程序返回的数据

for(var x in obj) //遍历返回数据

{

var $option=$("<option value='"+obj[x]+"'>"+obj[x]+"</option>") //返回数据添加到界面

$("#lister").append($option)

}

})

})

public class ServerConnect {

private static final int BUF_SIZE = 1024

private static final int PORT = 8080

private static final int TIMEOUT = 3000

public static void main(String[] args) {

selector()

}

public static void handleAccept(SelectionKey key) throws IOException {

ServerSocketChannel ssChannel = (ServerSocketChannel) key.channel()

SocketChannel sc = ssChannel.accept()

sc.configureBlocking(false)

sc.register(key.selector(), SelectionKey.OP_READ,

ByteBuffer.allocateDirect(BUF_SIZE))

}

public static void handleRead(SelectionKey key) throws IOException {

SocketChannel sc = (SocketChannel) key.channel()

ByteBuffer buf = (ByteBuffer) key.attachment()

long bytesRead = sc.read(buf)

while (bytesRead >0) {

buf.flip()

while (buf.hasRemaining()) {

byte b= buf.get()

System.out.print((char) buf.get())

}

System.out.println()

buf.clear()

bytesRead = sc.read(buf)

}

if (bytesRead == -1) {

sc.close()

}

}

public static void handleWrite(SelectionKey key) throws IOException {

ByteBuffer buf = (ByteBuffer) key.attachment()

buf.flip()

SocketChannel sc = (SocketChannel) key.channel()

while (buf.hasRemaining()) {

sc.write(buf)

}

buf.compact()

}

public static void selector() {

Selector selector = null

ServerSocketChannel ssc = null

try {

selector = Selector.open()

ssc = ServerSocketChannel.open()

ssc.socket().bind(new InetSocketAddress(PORT))

ssc.configureBlocking(false)

ssc.register(selector, SelectionKey.OP_ACCEPT)

while (true) {

if (selector.select(TIMEOUT) == 0) {

System.out.println("==")

continue

}

Iterator<SelectionKey>iter = selector.selectedKeys()

.iterator()

int count = 0

while (iter.hasNext()) {

count++

SelectionKey key = iter.next()

if (key.isAcceptable()) {

handleAccept(key)

}

if (key.isReadable()) {

handleRead(key)

}

if (key.isWritable() &&key.isValid()) {

handleWrite(key)

}

if (key.isConnectable()) {

System.out.println("isConnectable = true")

}

iter.remove()

}

System.out.println(count)

}

} catch (IOException e) {

e.printStackTrace()

} finally {

try {

if (selector != null) {

selector.close()

}

if (ssc != null) {

ssc.close()

}

} catch (IOException e) {

e.printStackTrace()

}

}

}

}

不知道客户端的请求是什么形式的请求socket?webservice?http?

你这个这是用nio写的一个socket服务端程序,监听的是本地8080端口,在handleWrite方法体类处理jdbc获取数据放入ByteBuffer里就可以了,jdbc *** 作这里就不写了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10841428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存