「java如何实现交互功能」java前后端交互方式

博主:adminadmin 2022-12-23 01:09:08 152

今天给各位分享java如何实现交互功能的知识,其中也会对java前后端交互方式进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java web 开发中的前后台交互方法

给你举一个登录的例子。

首先用户请求 login.jsp 登录页面,之后输入用户名密码,表单提交到 servlet ,在 servlet 中可以处理业务逻辑,当然也可以调用如 hibernate 框架操作数据库。 之后根据业务处理的结果,重定向或者转发到某一个页面。完成一次交互(不建议在jsp中直接调用业务逻辑)。

struts 好比是对 servlet 的封装,可以通过属性文件的配置,核心类 ActionServlet 根据用户请求的路径到达具体的 action 。提高系统的开发效率,方便代码的维护。

ajax 的核心对象是 XMLHttpRequest ,通过这个对象,允许用户可以在页面中直接调用后台业务逻辑,而不需要表单提交,或者刷新界面。 ajax 的框架如 yahoo 的云,jquery,dhtmlxAjax,dwr等等。 dwr 是基于后台的技术,其他的是前台 ajax 框架。

主流的框架还有 hibernate 、spring、ejb 等等。

java socket如何实现客户端与客户端的交互?

1、服务端监听一个端口,其它客户端都通过这个端口和服务端进行通信。

2、每个客户端连接上来,服务端给其一个标识ID。然后向其它所有客户端广播一下有新客户端接入,ID多少。

3、客户端要向客户端发送消息,可以以消息包的形式发送,就是把目的客户端的标识和发送的内容组成一个数据包发往服务器,服务器读取就知道要向哪 个客户端发送数据,然后把内容往目的客户端通道发送

JAVA写一个和前端交互的小功能怎么写

java和前端的交互分两种:

ajax请求

页面嵌套的标签

常用第一种,我们一般用jquery $.ajax()这个方法来实现交互

java如何与shell实现交互?

交互式模式就是shell等待你的输入,并且执行你提交的命令。

这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。

shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

怎么让java两个类之间进行交互

HI我..

通过构造方法就可以把那个引用传过去了。。

如果你是在一个窗口干什么后打开另一个窗口的。。就是说你在一个窗口中打开另一个窗口的。。

TextFrame 类 这里面有个文本框和一个按钮。。点击按钮就打开另一个窗口。。

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class TextFrame extends JFrame {

public JTextField jt;

/**

* @param args

*/

public TextFrame() {

JLabel jl = new JLabel("文本框:");

this.jt = new JTextField(15);

JButton jb = new JButton("点击");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

new ButtonFrame(TextFrame.this);

}

});

JPanel jp = new JPanel();

jp.add(jl);

jp.add(jt);

jp.add(jb);

this.add(jp);

this.setBounds(100, 100, 100, 100);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new TextFrame();

}

}

ButtonFrame 类。。这里面有个按钮。点击就可以设置这边这个文本框的内容了。。

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class ButtonFrame extends JFrame {

private TextFrame jf;

public ButtonFrame(TextFrame frame) {

this.jf = frame;

JButton jb = new JButton("点击设置");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String str = JOptionPane.showInputDialog("请输入", null);

ButtonFrame.this.jf.jt.setText(str);

}

});

JPanel jp = new JPanel();

jp.add(jb);

this.add(jp);

this.setBounds(250, 250, 100, 100);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

如果两个类都是单独运行的。。没有任何关系的话(即不是在一个窗口中点击上面东西或是干什么就打开另一个窗口)。。都是独立运行的。。

那就需要用到socket了哦。。

下面两个类你都单独运行就是了哈。。

服务器端:SocketManager类。这里面有个文本框。。

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class SocketManager extends JFrame {

/**

* @param args

* @throws IOException

*/

private JTextField jt;

public static void main(String[] args) {

SocketManager manager = new SocketManager();

manager.doListen();

}

public SocketManager() {

JLabel jl = new JLabel("文本框:");

this.jt = new JTextField(15);

JPanel jp = new JPanel();

jp.add(jl);

jp.add(jt);

this.add(jp);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public void doListen() {

ServerSocket server;

try {

server = new ServerSocket(9991);

while (true) {

Socket client = server.accept();

new Thread(new SSocket(client)).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

// 服务器进程

class SSocket implements Runnable {

Socket client;

public SSocket(Socket client) {

this.client = client;

}

public void run() {

DataInputStream input;

while (true) {

try {

input = new DataInputStream(client.getInputStream());

try {

String listMsg = input.readUTF();

SocketManager.this.jt.setText(listMsg);

} catch(Exception e) {

break;

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

客户端:Client类 有个按钮。。点击弹出输入框输入内容。。服务器的文本框就显示你输入的内容

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.net.Socket;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class Client extends JFrame {

private static Socket socket;

OutputStream netOut;

DataOutputStream doc;

public Client() {

try {

socket = new Socket("127.0.0.1", 9991);

this.netOut = socket.getOutputStream();

this.doc = new DataOutputStream(netOut);

} catch(Exception e) {

e.printStackTrace();

}

JButton jb = new JButton("点击设置");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String str = JOptionPane.showInputDialog("请输入", null);

try {

doc.writeUTF(str);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

});

JPanel jp = new JPanel();

jp.add(jb);

this.add(jp);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new Client();

}

}

用java怎么实现与浏览器的数据交互:

看看java.net.HttpURLConnection这个类的用法,能够达到你的要求:

下面是一个例子:

1. package com.sw.study.urlConnection;

2.

3. import java.io.BufferedReader;

4. import java.io.InputStreamReader;

5. import java.io.OutputStream;

6. import java.net.HttpURLConnection;

7. import java.net.URL;

8. import java.net.URLConnection;

9. import java.util.HashMap;

10. import java.util.Map;

11.

12. public class URLConnectionUtil {

13.

14. private static final String SERVLET_POST = "POST" ;

15. private static final String SERVLET_GET = "GET" ;

16. private static final String SERVLET_DELETE = "DELETE" ;

17. private static final String SERVLET_PUT = "PUT" ;

18.

19. private static String prepareParam(MapString,Object paramMap){

20. StringBuffer sb = new StringBuffer();

21. if(paramMap.isEmpty()){

22. return "" ;

23. }else{

24. for(String key: paramMap.keySet()){

25. String value = (String)paramMap.get(key);

26. if(sb.length()1){

27. sb.append(key).append("=").append(value);

28. }else{

29. sb.append("").append(key).append("=").append(value);

30. }

31. }

32. return sb.toString();

33. }

34. }

35.

36. public static void doPost(String urlStr,MapString,Object paramMap ) throws Exception{

37. URL url = new URL(urlStr);

38. HttpURLConnection conn = (HttpURLConnection)url.openConnection();

39. conn.setRequestMethod(SERVLET_POST);

40. String paramStr = prepareParam(paramMap);

41. conn.setDoInput(true);

42. conn.setDoOutput(true);

43. OutputStream os = conn.getOutputStream();

44. os.write(paramStr.toString().getBytes("utf-8"));

45. os.close();

46.

47. BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

48. String line ;

49. String result ="";

50. while( (line =br.readLine()) != null ){

51. result += "\n"+line;

52. }

53. System.out.println(result);

54. br.close();

55.

56. }

57.

58. public static void doGet(String urlStr,MapString,Object paramMap ) throws Exception{

59. String paramStr = prepareParam(paramMap);

60. if(paramStr == null || paramStr.trim().length()1){

61.

62. }else{

63. urlStr +="?"+paramStr;

64. }

65. System.out.println(urlStr);

66. URL url = new URL(urlStr);

67. HttpURLConnection conn = (HttpURLConnection)url.openConnection();

68. conn.setRequestMethod(SERVLET_PUT);

69. conn.setRequestProperty("Content-Type","text/html; charset=UTF-8");

70.

71. conn.connect();

72. BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

73. String line ;

74. String result ="";

75. while( (line =br.readLine()) != null ){

76. result += "\n"+line;

77. }

78. System.out.println(result);

79. br.close();

80. }

81.

82. public static void doPut(String urlStr,MapString,Object paramMap) throws Exception{

83. URL url = new URL(urlStr);

84. HttpURLConnection conn = (HttpURLConnection)url.openConnection();

85. conn.setRequestMethod(SERVLET_PUT);

86. String paramStr = prepareParam(paramMap);

87. conn.setDoInput(true);

88. conn.setDoOutput(true);

89. OutputStream os = conn.getOutputStream();

90. os.write(paramStr.toString().getBytes("utf-8"));

91. os.close();

92.

93. BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

94. String line ;

95. String result ="";

96. while( (line =br.readLine()) != null ){

97. result += "\n"+line;

98. }

99. System.out.println(result);

100. br.close();

101.

102. }

103.

104. public static void doDelete(String urlStr,MapString,Object paramMap) throws Exception{

105. String paramStr = prepareParam(paramMap);

106. if(paramStr == null || paramStr.trim().length()1){

107.

108. }else{

109. urlStr +="?"+paramStr;

110. }

111. System.out.println(urlStr);

112. URL url = new URL(urlStr);

113. HttpURLConnection conn = (HttpURLConnection)url.openConnection();

114. conn.setDoOutput(true);

115. conn.setRequestMethod(SERVLET_DELETE);

116. //屏蔽掉的代码是错误的,java.net.ProtocolException: HTTP method DELETE doesn't support output

117. /* OutputStream os = conn.getOutputStream();

118. os.write(paramStr.toString().getBytes("utf-8"));

119. os.close(); */

120.

121. if(conn.getResponseCode() ==200){

122. System.out.println("成功");

123. }else{

124. System.out.println(conn.getResponseCode());

125. }

126. }

127.

128. public static void main(String[] args) throws Exception{

129. String urlStr = "";

130. MapString,Object map = new HashMapString,Object();

131. map.put("username","张三");

132. map.put("password","88888");

133. // URLConnectionUtil.doGet(urlStr, map);

134. // URLConnectionUtil.doPost(urlStr, map);

135. // URLConnectionUtil.doPut(urlStr, map);

136. URLConnectionUtil.doDelete(urlStr, map);

137.

138. }

139.

140.

141. }

关于java如何实现交互功能和java前后端交互方式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。