導航:首頁 > 編程語言 > java啟動監聽載入

java啟動監聽載入

發布時間:2023-08-28 01:14:30

『壹』 java網路監聽程序

//server 端的.樓主可以用 命令: "telnet 127.0.0.1 8888"測試或加上client也行

import java.net.*;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.HeadlessException;
import java.awt.Label;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

public class tcpServer extends Frame {
static Button b = new Button(" ");
static Label l1 = new Label("No connection on port 8888");

public tcpServer() throws HeadlessException {
super("Listening");
setLayout(new FlowLayout(FlowLayout.LEFT));
add(b);
add(l1);
b.setBackground(Color.RED);
setVisible(true);
pack();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

b.addActionListener(new ButtonListener());

}

class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {

}

}

public static void main(String args[]) {
new tcpServer();
int port;
ServerSocket server_socket;
BufferedReader input;
try {
port = Integer.parseInt(args[0]);
} catch (Exception e) {
System.out.println("port = 8888 (default)");
port = 8888;
}

try {
server_socket = new ServerSocket(port);
System.out.println("Server waiting for client on port "
+ server_socket.getLocalPort());
// server infinite loop
while (true) {
Socket socket = server_socket.accept();
b.setBackground(Color.GREEN);
l1.setText("Connection"+socket.getInetAddress());
System.out.println("New connection accepted "
+ socket.getInetAddress() + ":" + socket.getPort());
input = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
// print received data
try {
while (true) {
String message = input.readLine();
if (message == null)
break;
System.out.println(message);
}
} catch (IOException e) {
System.out.println(e);
}

// connection closed by client
try {
socket.close();
b.setBackground(Color.RED);
l1.setText("No connection on port 8888");
System.out.println("Connection closed by client");
} catch (IOException e) {
System.out.println(e);
}
}
} catch (IOException e) {
System.out.println(e);
}
}
}

//client端的,以下代碼可以不用。如想用放到不同文件里編譯。再運行
// tcpClient.java by jing5083394

// usage : java tcpClient <server> <port>
// default port is 8888

import java.net.*;
import java.io.*;

public class tcpClient {

public static void main(String[] args) {

int port = 8888;
String server = "localhost";
Socket socket = null;
String lineToBeSent;
BufferedReader input;
PrintWriter output;
int ERROR = 1;

// read arguments
if(args.length == 2) {
server = args[0];
try {
port = Integer.parseInt(args[1]);
}
catch (Exception e) {
System.out.println("server port = 1000 (default)");
port = 1500;
}
}

// connect to server
try {
socket = new Socket(server, port);
System.out.println("Connected with server " +
socket.getInetAddress() +
":" + socket.getPort());
}
catch (UnknownHostException e) {
System.out.println(e);
System.exit(ERROR);
}
catch (IOException e) {
System.out.println(e);
System.exit(ERROR);
}

try {
input = new BufferedReader(new InputStreamReader(System.in));
output = new PrintWriter(socket.getOutputStream(),true);

// get user input and transmit it to server
while(true) {
lineToBeSent = input.readLine();
// stop if input line is "."
if(lineToBeSent.equals(".")) break;
output.println(lineToBeSent);
}
}
catch (IOException e) {
System.out.println(e);
}

try {
socket.close();
}
catch (IOException e) {
System.out.println(e);
}
}
}

『貳』 java中為什麼要設置監聽器,有什麼用

豬哥解答:
1、來private JButton jb=new JButton("按鈕自");這句話聲明了一個按鈕,名字叫jb。
2、jb.addActionListener(this);這里給jb那個按鈕設置了監聽,默認為點擊觸發,當然你寫的這個監聽有點怪異~
3、點擊按鈕jb觸發監聽處理方法actionPerformed,在這里可以做你想要的操作,你代碼實現的是改變lab這個label標簽的內容。
4、至於java中為什麼要用監聽,這就像銀行裝監控一樣,監視你的一舉一動,銀行裝監控是為了捕捉每個進銀行的人的動作,預防危險的發生。
java中做監聽同樣是為了監視某個客戶端動作用的,萬一你給我搞破壞怎麼辦(監聽的作用遠不止如此),當然也像平時生活中不是所有的地方都要放監控,要不就沒法過了,java中也不是所有的地方都要放監聽,具體哪裡要放監聽,不該是在課本里學的,應該根據實際工廠、公司的需求來定。

『叄』 java監聽器原理



  1. 一個事件源可能會生成不同類型的事件,事件源提供了一組方法,用於為事件注冊一個或多個監聽器。

  2. 每種事件的類型都有其自己的注冊方法。一般形式為:publicvoidadd<EventType>Listener(TypeListenere)

  3. AWT採取的事件控制過程:監聽器對象屬於一個類的實例,這個類實現了一個特殊的介面,名為「監聽者介面」

  4. 事件源是一個對象,它可以注冊一個或多個監聽器對象,並向其發送事件對象。

  5. 事件源將在發生事件時向所有注冊的監聽器發送事件對象。

  6. 監聽器對象使用事件對象中的信息來確定它們對事件的響應


  1. 基於代理(授權)事件模型,事件處理是一個事件源授權到一個或者多個事件監聽器。其基本原理是:組件激發事件,事件監聽器監聽和處理事件,可以調用組件的add<EventType>Listener方法向組件注冊監聽器。把其加入到組件以後,如果組件激發了相應類型的事件,那麼定義在監聽器中的事件處理方法會被調用。


  1. 事件源由它來激發產生事件

  2. 是產生或拋出事件的對象。

  3. 事件監聽器由它來處理事件

  4. 實現某個特定EventListener介面,此介面定義了一種或多種方法,事件源調用它們以響應該介面所處理的每一種特定事件類型。

  5. 事件具體的事件類型

  6. 事件類型封裝在以java.util.EventObject為根的類層次中。當事件發生時,事件記錄發生的一切事件,並從事件源傳播到監聽器對象

『肆』 在系統啟動時,使用java怎麼將數據載入到內存數組中

最簡單的辦法是使用靜態變數。變數設置為private的,初始化的時候給變數賦值,其版他方法權若要使用,只能通過get方法取值。這樣避免的更改內存中的數據
如:
public class Test{
private static String[] testArgs;

static init(){

給testArgs賦值...
}

public static getArgs(){

return testArgs;
}

}

『伍』 java怎麼監聽一個方法被執行

在方法里寫日誌,當方法被調用了就寫進日記去,或者在方法里增加一個線程,一旦調用就啟動線程做通知。再不濟用切面編程。在調用該方法的時候前後通知都行。

『陸』 java如何實現:一個一直在運行的監聽程序,每當監聽到數據,就把數據發給jsp頁面

方法1:可以利用ServletContext類的對象application解決,這個屬於整個web應用都公用的內部對象。例如回在監答聽器中
public class GetConnListener implements ServletContextListener {
//例如這個是要傳的數據
String data="0";

//當此web應用被訪問後啟用該方法

public void contextInitialized(ServletContextEvent sce) {

//創建application
ServletContext application=sce.getServletContext();

//將數據存入application的屬性中
application.setAttribute("Data",data);}
然後再JSP頁面,的JSP腳本中寫入
String data=(String)sapplication.getAttribute("Data");
out.print(data);
就能狗獲取和輸出這個數據了。
方法二便是直接在JAVA中把數據存入資料庫,JSP從資料庫中讀出數據。

閱讀全文

與java啟動監聽載入相關的資料

熱點內容
vc修改文件名 瀏覽:149
linux65從域 瀏覽:321
用什麼東西壓縮文件 瀏覽:406
怎麼刪除ipad隱藏的APP 瀏覽:981
編程如何佔用大量內存 瀏覽:116
多個excel表格文件如何組合 瀏覽:918
ubuntu內核升級命令 瀏覽:679
pgp文件夾 瀏覽:894
一鍵還原的文件是什麼格式 瀏覽:581
女漢子微信名霸氣十足 瀏覽:65
win10手機藍屏修復 瀏覽:419
windows2008激活工具 瀏覽:259
g71的編程應注意什麼 瀏覽:572
文件路徑不符合是什麼意思 瀏覽:543
qq如何換綁微信綁定 瀏覽:67
文件包下載的安裝包在哪裡 瀏覽:811
90版本升級不送 瀏覽:186
工具箱英文 瀏覽:382
南翔嘉定編程課哪裡好 瀏覽:853
win10改變文件格式 瀏覽:475

友情鏈接