java接收数据
‘壹’ java后怎样接收通过FormData发来的数据
action接收jsp传来的值,主要的方式是将数据放在request对象中,然后在另一个页面拿到这个数据即可。
‘贰’ java怎么接收android请求过来的json数据
java接收android请求json数据的方法:
如果发送的没有参数名称你可以直接得到请求体,如
InputStreaminputStream=urlConnection.getInputStream();
Stringencoding=urlConnection.getContentEncoding();
Stringbody=IOUtils.toString(inputStream,encoding);
System.out.println(body);如果body就是那个json内容使用fastjson进行解析就可以了
JSONObjectmap=JSON.parseObject(body);
System.out.println(map.getString("mobileNo"));//还是System.out.println(map.get("mobileNo"));?具体看一下接口文档或者
Mapmap=JSON.parseObject(body,Map.class);
System.out.println(map.get("mobileNo"));
‘叁’ java 怎么用UDP实时接收数据
我自己写的代码:
importjava.io.IOException;
importjava.net.DatagramPacket;
importjava.net.DatagramSocket;
importjava.net.InetAddress;
importjava.net.SocketException;
importjava.net.UnknownHostException;
publicclassUdpRecvDemo
{
publicstaticvoidmain(String[]args)throwsIOException
{
Recv();
}
publicstaticvoidRecv()throwsIOException
{
System.out.println("接受开始......");
DatagramSocketds=newDatagramSocket(3388);
while(true)
{
byte[]buf=newbyte[1024];
DatagramPacketdp=newDatagramPacket(buf,buf.length);
ds.receive(dp);
System.out.println(ds);
Stringip=dp.getAddress().getHostAddress();
intport=dp.getPort();
Stringtext=newString(dp.getData(),0,dp.getLength());
if(text.equals("exit"))
{
System.out.println(ip+"退出会话......");
break;
}
System.out.println(ip+":"+port+"===>me"+text);
}
ds.close();
}
}
‘肆’ java用实体类接收多条数据库数据怎么写
多条数据可以返回一个list啊,我给你看一个例子:
public List SearchAll(){
List l = new ArrayList();
EmployeeBean ea = null;
ResultSet rs = null;
PreparedStatement ps = null;
Connection con = null;
sql = "select * from Employee";
try {
con = BaseDAO.GetConnection();
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
ea = new EmployeeBean();
ea.setId(rs.getInt(1));
ea.setDerpartId(rs.getInt(2));
ea.setName(rs.getString(3));
ea.setPassword(rs.getString(4));
l.add(ea);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
BaseDAO.close(rs, ps, con);
}
return l;
}
‘伍’ 怎么通过java接受蓝牙传递过来的数据
//服务端:server.cpp
#include<stdio.h>
#include<winsock2.h>
#pragmacomment(lib,"ws2_32.lib")
intmain(intargc,char*argv[])
{
//初始化WSA
WORDsockVersion=MAKEWORD(2,2);
WSADATAwsaData;
if(WSAStartup(sockVersion,&wsaData)!=0)
{
return0;
}
//创建套接字
SOCKETslisten=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(slisten==INVALID_SOCKET)
{
printf("socketerror!");
return0;
}
//绑定IP和端口
sockaddr_insin;
sin.sin_family=AF_INET;
sin.sin_port=htons(8888);
sin.sin_addr.S_un.S_addr=INADDR_ANY;
if(bind(slisten,(LPSOCKADDR)&sin,sizeof(sin))==SOCKET_ERROR)
{
printf("binderror!");
}
//开始监听
if(listen(slisten,5)==SOCKET_ERROR)
{
printf("listenerror!");
return0;
}
//循环接收数据
SOCKETsClient;
sockaddr_inremoteAddr;
intnAddrlen=sizeof(remoteAddr);
charrevData[255];
while(true)
{
printf("等待连接... ");
sClient=accept(slisten,(SOCKADDR*)&remoteAddr,&nAddrlen);
if(sClient==INVALID_SOCKET)
{
printf("accepterror!");
continue;
}
printf("接受到一个连接:%s ",inet_ntoa(remoteAddr.sin_addr));
//接收数据
intret=recv(sClient,revData,255,0);
if(ret>0)
{
revData[ret]=0x00;
printf(revData);
}
//发送数据
constchar*sendData="你好,TCP客户端! ";
send(sClient,sendData,strlen(sendData),0);
closesocket(sClient);
}
closesocket(slisten);
WSACleanup();
return0;
}
//客户端:client.cpp
#include<WINSOCK2.H>
#include<STDIO.H>
#include<iostream>
#include<cstring>
usingnamespacestd;
#pragmacomment(lib,"ws2_32.lib")
intmain()
{
WORDsockVersion=MAKEWORD(2,2);
WSADATAdata;
if(WSAStartup(sockVersion,&data)!=0)
{
return0;
}
while(true){
SOCKETsclient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sclient==INVALID_SOCKET)
{
printf("invalidsocket!");
return0;
}
sockaddr_inserAddr;
serAddr.sin_family=AF_INET;
serAddr.sin_port=htons(8888);
serAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
if(connect(sclient,(sockaddr*)&serAddr,sizeof(serAddr))==SOCKET_ERROR)
{//连接失败
printf("connecterror!");
closesocket(sclient);
return0;
}
stringdata;
cin>>data;
constchar*sendData;
sendData=data.c_str();//string转constchar*
//char*sendData="你好,TCP服务端,我是客户端 ";
send(sclient,sendData,strlen(sendData),0);
//send()用来将数据由指定的socket传给对方主机
//intsend(ints,constvoid*msg,intlen,unsignedintflags)
//s为已建立好连接的socket,msg指向数据内容,len则为数据长度,参数flags一般设0
//成功则返回实际传送出去的字符数,失败返回-1,错误原因存于error
charrecData[255];
intret=recv(sclient,recData,255,0);
if(ret>0){
recData[ret]=0x00;
printf(recData);
}
closesocket(sclient);
}
WSACleanup();
return0;
}
‘陆’ 疯狂Java讲义:使用DatagramSocket发送、接收数据[2]
程序客户端代码也与此类似 客户端采用循环不断地读取用户键盘输入 每当读到用户输入内容后就将该内容封装成DatagramPacket数据报 再将该数据报发送出去 接着把DatagramSocket中的数据读入接收用的DatagramPacket中(实际上是读入该DatagramPacket所封装的字节数组中) 客户端代码如下
程序清单 codes/ / /UdpClient java
public class UdpClient
{
//定义发送数据报的目的地
public static final int DEST_PORT = ;
public static final String DEST_IP = ;
//定义每个数据报的最大大小为 K
private static final int DATA_LEN = ;
//定义该客户端使用的DatagramSocket
private DatagramSocket socket = null;
//定义接收网络数据的字节数组
byte[] inBuff = new byte[DATA_LEN];
//以指定字节数组创建准备接受数据的DatagramPacket对象
private DatagramPacket inPacket =
new DatagramPacket(inBuff inBuff length)
//定义一个用于发送的DatagramPacket对象
private DatagramPacket outPacket = null;
public void init()throws IOException
{
try
{
//创建一个客户端DatagramSocket 使用随机端口
socket = new DatagramSocket()
//初始化发送用的DatagramSocket 它包含一个长度为 的字节数组
outPacket = new DatagramPacket(new byte[ ]
InetAddress getByName(DEST_IP) DEST_PORT)
//创建键盘输入流
Scanner scan = new Scanner(System in)
//不断读取键盘输入
while(scan hasNextLine())
{
//将键盘输入的一行字符串转换字节数组
byte[] buff = scan nextLine() getBytes()
//设置发送用的DatagramPacket里的字节数据
outPacket setData(buff)
//发送数据报
socket send(outPacket)
//读取Socket中的数据 读到的数据放在inPacket所封装的字节数组里
socket receive(inPacket)
System out println(new String(inBuff
inPacket getLength()))
}
}
//使用finally块保证关闭资源
finally
{
if (socket != null)
{
socket close()
}
}
}
public static void main(String[] args)
throws IOException
{
new UdpClient() init()
}
}
上面程序的粗体字代码同样也是通过DatagramSocket发送 接收DatagramPacket的关键代码 这些代码与服务器的代码基本相似 而客户端与服务器端的唯一区别在于 服务器所在IP地址 端口是固定的 所以客户端可以直接将该数据报发送给服务器 而服务器则需要根据接收到的数据报来决定将 反馈 数据报的目的地
读者可能会发现 使用DatagramSocket进行网络通信时 服务器端无须 也无法保存每个客户端的状态 客户端把数据报发送到服务器后 完全有可能立即退出 但不管客户端是否退出 服务器无法知道客户端的状态
当使用UDP协议时 如果想让一个客户端发送的聊天信息可被转发到其他所有客户端则比较困难 可以考虑在服务器使用Set来保存所有客户端信息 每当接收到一个客户端的数据报之后 程序检查该数据报的源SocketAddress是否在Set集合中 如果不在就将该SocketAddress添加到该Set集合中 但这样一来又涉及一个问题 可能有些客户端发送一个数据报之后永久性地退出了程序 但服务器端还将该客户端的SocketAddress保存在Set集合中……总之 这种方式需要处理的问题比较多 编程比较烦琐 幸好Java为UDP协议提供了MulticastSocket类 通过该类可以轻松实现多点广播
返回目录 疯狂Java讲义
编辑推荐
Java程序性能优化 让你的Java程序更快 更稳定
新手学Java 编程
Java程序设计培训视频教程
lishixin/Article/program/Java/hx/201311/27260
‘柒’ java怎么接收输入的char类型数据(Scanner)
没有,由于Scanner是一个final类,不可以去继承.但是你可以使用面向对象的一个机制封装去实现一个nextChar操作。
import
java.io.InputStream;
import
java.util.InputMismatchException;
import
java.util.Scanner;
public
class
Scan
{
private
Scanner
reader;
public
Scan(InputStream
in)
{
reader
=
new
Scanner(in);
}
public
boolean
hasNextChar()
{
return
reader.hasNext(".");
}
public
char
nextChar()
{
String
ret
=
reader.next();
if
(ret.length()
>
1)
{
throw
new
InputMismatchException();
}
return
(char)ret.charAt(0);
}
public
boolean
hasNextInt()
{
return
reader.hasNextInt();
}
public
boolean
hasNextInt(int
radix)
{
return
reader.hasNextInt(radix);
}
public
int
nextInt()
{
return
reader.nextInt();
}
public
int
nextInt(int
radix)
{
return
reader.nextInt(radix);
}
public
static
void
main(String[]
args)
{
Scan
scan
=
new
Scan(System.in);
System.out.println(scan.hasNextChar());
System.out.println(scan.nextChar());
}
}
你是想做四则运算啊。结合使用Scan类可以和你的switch语句可以达到你的要求。
‘捌’ java中怎么接受数据库的数据
要看你是用框架还是传统的JDBC连接了,如果是传统的JDBC连接的话方法如下:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载数据库驱动
Stringurl="jdbc:sqlserver://127.0.0.1:1433;databaseName=testDB";//IP:端口;databaseName:数据库名
Stringsql="selectnamefromt_user";//sql查询语句
Connectioncon=DriverManager.getConnection(url,username,password);//url:
数据库连接串userName:数据库登录账号passWord:数据库登录密码
Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSetrs=stmt.executeQuery(sql);
//用户对象集合
List<User>userList=newArrayList<User>();
while(rs.next()){
Useruser=newUser();
user.setName=rs.getString("name");
userList.add(user);
}
‘玖’ 用JAVA语言如何接收客户端发送的数据包
不写代码,这个要你自己完成的
JAVA提供了关于网络编程相应的API
客户端--->Socket
服务端-->ServerSocket
1.首先new出服务端对象
new ServerSocket(int port); port为指定接收的端口号
注意,你在new客户端对象的时候
new Socket(主机名,端口号) 这里的端口号要一致
2.new出服务端对象后,调用accpt()方法,接收客户端传递的数据,返回一个客户端对象, 这个客户端对象里有什么? 当然是你客户端发送的数据了
3.如何读取?
客户端的操作:
客户端写出数据至服务端 socket.getOutputStream()
客户端读取来自服务端的数据 socket.getInputStream()
服务端的操作;
利用 调用的accpet方法返回的Socket对象
ServerSocket server = new ServerSocket(8080); (假设是8080端口)
Socket socket = server.accpet();
服务端读取来自客户端的数据: socket.getInputStream();
服务端向客户端发送数据: socket.getOutputStream()
一个基本的网络通信模式就这样生成了
字节如何以网页形式显示? 全是乱码?
你客服端发送一个.mp3 能显示出来吗?
如果你想以网页显示的话,那涉及到JavaWeb编程了,servlet/jsp
QQ:170014410 可以探讨