java041:java或浏览器做客户端互相传递数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java041:java或浏览器做客户端互相传递数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3226字,纯文字阅读大概需要5分钟。
内容图文
一,用java做服务器,用浏览器做客户端,让浏览器去链接java服务器
每一个浏览器在发送请求时都会先发送一个”暗号”,对方如果能对上这个暗号,就是自己人,才会发送数据。 这个暗号就是我们的http协议
用java做客户端,tomcat做服务器:
package 网络编程;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("我执行了没有");
Socket tomcat=new Socket("localhost",8080);
System.out.println("我执行了没");
//接收信息
InputStream in=tomcat.getInputStream();
InputStreamReader isr=new InputStreamReader(in);
BufferedReader br=new BufferedReader(isr);
//发送暗号
OutputStream out=tomcat.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(out);
BufferedWriter bw=new BufferedWriter(osw);
//暗号,模仿http协议
bw.write("GET /baidu/1.html HTTP/1.1");
bw.newLine();
bw.write("Host: localhost:8080");
bw.newLine();
bw.write("Connection: close");
bw.newLine();
bw.write("Cache-Control: max-age=0");
bw.newLine();
bw.write("Upgrade-Insecure-Requests: 1");
bw.newLine();
bw.write("User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36");
bw.newLine();
bw.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
bw.newLine();
bw.write("Accept-Encoding: gzip, deflate, br");
bw.newLine();
bw.write("Accept-Language: zh-CN,zh;q=0.9,en;q=0.8");
bw.newLine();
bw.write("Cookie: Webstorm-9770a2b9=e9c5983e-de71-494b-add2-1f771d40a956");
bw.newLine();
bw.newLine(); //注意协议后面多了两个换行,这也是协议内容。
bw.newLine();
bw.flush();
//接收
String msg=null;
while((msg=br.readLine())!=null){
System.out.println(msg);
}
System.out.println("over");
br.close();
}
}
出现这种情况,应该是你Tomcat的服务端口被占用了。不知道怎么办了。
**二,用浏览器做客户端,用java做服务器,给浏览器发送html代码,让浏览器显示页面
package 网络编程;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server=new ServerSocket(8888);
System.out.println("服务器以启动。。");
Socket llq=server.accept();
System.out.println("有客户端接入");
OutputStream out=llq.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(out);
BufferedWriter bw=new BufferedWriter(osw);
bw.write("HTTP/1.1 200 OK");
bw.newLine();
bw.write("Server: Apache-Coyote/1.1");
bw.newLine();
bw.write("ETag: W/\"7347-1184876416000\"");
bw.newLine();
bw.write("Last-Modified: Thu, 19 Jul 2007 20:20:16 GMT");
bw.newLine();
bw.write("Content-Type: text/html");
bw.newLine();
bw.write("Content-Length: 7347");
bw.newLine();
bw.write("Date: Sat, 11 May 2019 08:22:31 GMT");
bw.newLine();
bw.newLine();
bw.newLine();
bw.flush();
bw.write("<div style='border:1px solid red; width:100px; height:100px'></div>");
bw.flush();
bw.close();
System.out.println("over");
}
}
输出结果:在网页上显示:
内容总结
以上是互联网集市为您收集整理的java041:java或浏览器做客户端互相传递数据全部内容,希望文章能够帮你解决java041:java或浏览器做客户端互相传递数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。