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 可以探討