- 浏览: 588992 次
文章分类
最新评论
-
wjwjwjwj:
void T0_Work() //T0定时器调用的工作函数 ...
51单片机学习笔记:基于状态机的按键对时程序(短按,长按,连发) -
xouou_53320:
lastSeries 写道前辈,是不是在工作以后连System ...
java学习笔记:TCP通讯,传送任意文件(服务端并发) -
lastSeries:
前辈,是不是在工作以后连System.out.println( ...
java学习笔记:TCP通讯,传送任意文件(服务端并发) -
xouou_53320:
chuanwang66 写道不过改了iconv.exe路径也不 ...
Source Insight 中文乱码,用iconv转码,解决中文乱码问题_20150930更新 -
anazel:
正在学习,多谢分享
51单片机学习笔记:基于状态机的按键对时程序(短按,长按,连发)
/* 使用UI界面,输入url地址,访问指定端口的服务 1.当不输入端口时,默认访问80端口 2.可以访问服务器指定端口和指定路径下的文件 关于对url的处理 我们先来手动截取一下,不要怕麻烦 java类中其实有相应的方法的 本例中网页代码没解析 [示例]:模拟浏览器,访问网址 */ import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; class Demo { public static void main(String[] args) throws Exception { new MyWindow(); } public static void sop(Object obj) //打印 { System.out.println(obj); } } class MyWindow { private Frame frm; private TextField textd; private Button but; private TextArea texta; private Dialog dlg; //对话框应该在需要的时候再初始化 private Label lab; private Button okButn; MyWindow() //构造方法 { init(); //初始化 } public void init() //初始化 { frm= new Frame("window"); //创建窗体 frm.setBounds(300,100,600,500); //距左300,距上100,横向600,纵向500 frm.setLayout(new FlowLayout()); //界面模式:边界模式 textd = new TextField(60); //创建单行文本框 but= new Button("转到"); //创建按钮 texta = new TextArea(27,82); //创建文本区域 dlg = new Dialog(frm,"提示:对话框!",true); //创建对话框 lab = new Label("请正确网址或路径!"); //创建标签.可后期设置文本 okButn = new Button("确定!!!"); //创建弹出对话框中的"确定"按钮 dlg.setBounds(400,200,300,100); //设置对话框坐标 dlg.setLayout(new FlowLayout()); //设置对话框界面为边界模式 dlg.add(lab); //在对话框中加入组件标签和按钮 dlg.add(okButn); frm.add(textd); //在窗体中加入组件 frm.add(but); frm.add(texta); myEvent(); //初始化事件监听器 frm.setVisible(true); } private void showSerData() throws Exception { texta.setText(""); //将区域文本清空 String urlStr = textd.getText(); //获取地址栏中的字符串 if(urlStr.equals("")) //如果地址栏为空,弹出提示框 { texta.setText("请输入网址"); String worningInfo = "请输入网址"; lab.setText(worningInfo); dlg.setVisible(true); //显示提示框 return; } if(!urlStr.endsWith("/")) { urlStr=urlStr+"/"; //如果地址没有斜杠就添加 } int index1=urlStr.indexOf("//")+2; //从指定字符串开始索引,加2后就是ip开始了 int index2=urlStr.indexOf("/",index1); //从index1开始取,也就是从host开始 String str= urlStr.substring(index1,index2);// www.tom.com:80 sop("str: "+str); int port=0; String host=null; String path=null; if(!str.contains(":")) //如果只写host,未写端口号 { host=str; port=80; path=""; } else //如果指定host地址和端口,或者还加了路径 { String hostPort[] =str.split(":"); //分割出host地址和端口号 host=hostPort[0]; port =Integer.parseInt(hostPort[1]); path = urlStr.substring(index2+1); //路径不包含最左边的斜杠, /C:/webpages } sop(host+port+path); client(host,port,path); //网址处理完毕,准备发送 } public void client(String host,int port,String path) throws Exception { Socket sock = new Socket(host,port); //准备向服务端发送浏览器请求 PrintWriter priOut= new PrintWriter(sock.getOutputStream(),true); priOut.println("GET /"+path+" HTTP/1.1"); priOut.println("Accept: */*"); priOut.println("Accept-Language: zh-cn"); priOut.println("Accept-Encoding: gzip, deflate"); priOut.println("Host: 这个随便写"); priOut.println("Connection: Keep-Alive"); priOut.println(); //空行 sop("向服务端请求完毕>>>>>>>>>>>>>>>>>>>>>>>>>>"); sop("准备接受服务端数据......................"); //接收服务器返回的信息 BufferedReader bufr = new BufferedReader(new InputStreamReader(sock.getInputStream())); BufferedWriter bufw = new BufferedWriter(new FileWriter("c:\\rrr.txt"));//写到硬盘上 String lineIn=null; while(true) { lineIn=bufr.readLine(); if(lineIn!=null) { bufw.write(lineIn);//写到rrr.txt中 bufw.newLine(); texta.append(lineIn+System.getProperty("line.separator")); //UI界面中的显示 sop(lineIn);//控制台也打印下 } else { break; } } bufw.flush(); bufw.close(); sock.close(); } private void myEvent() //为各个事件源组件添加事件监听器 { okButn.addActionListener //命令按钮活动事件监听器 ( new ActionListener() { public void actionPerformed(ActionEvent e) { dlg.setVisible(false); //隐藏对话框 textd.setText(""); texta.setText(""); } } ); dlg.addWindowListener//.对话框窗体监听器 ( new WindowAdapter() { public void windowClosing(WindowEvent e) //点击对话框的叉叉后 { dlg.setVisible(false); //隐藏对话框 textd.setText(""); texta.setText(""); } } ); but.addActionListener //"转到" 按钮活动监听器 ( new ActionListener() { public void actionPerformed(ActionEvent e) //只有这一个方法要覆盖 { try { showSerData(); } catch(Exception e2) {} } } ); frm.addWindowListener //窗体监听器 ( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); //如果我们不想用鼠标点击"转到"按钮,想直接按回车就完成操作? //什么是事件源? 是textd组建 ,因为此时焦点还在textd单行文本框中 textd.addKeyListener ( new KeyAdapter() { public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_ENTER) //按回车 { try { showSerData(); } catch(Exception e1) {} } } } ); } public static void sop(Object obj) //打印 { System.out.println(obj); } }
发表评论
-
java学习笔记:内部类实现单链表
2012-02-18 10:12 2425/* 第一个节点称 ... -
java学习笔记:龙抓手之抓取网页中的邮件地址
2012-02-12 23:08 1206/* 正则表达式 [示例]: ... -
java学习笔记:TCP通讯,传送任意文件(服务端并发)
2012-01-31 19:46 18655/* TCP通讯 ... -
java学习笔记:装箱和拆箱,包装器和缓冲池
2012-01-31 13:52 3730jdk1.5以后用Integer举例Integer a = 3 ... -
java学习笔记:TCP通讯应用,传送文本文件
2012-01-29 13:28 1987/* TCP通讯 [示例]:传送文本文件 ... -
java学习笔记:TCP通信应用,字符大写转换服务器
2012-01-28 18:30 2150先启动服务端 再启动客户端,并输入字符 Student ... -
java学习笔记: 实现简易局域网聊天程序
2012-01-18 19:50 2457/* 使用UDP模式,编写一个聊天程序 有发送和接收 ... -
java学习笔记:字符的编码与解码练习
2012-01-08 22:06 1760编码:字符串转成字符数组 解码:字节数组转成字符串 ... -
java学习笔记:常见字符编码和编码头BOM
2012-01-07 23:24 6439ANSI(American National Standa ... -
java类初始化过程
2012-01-03 21:53 2548/* 测试3个内容: 类加载顺序 子父类执行 ... -
java学习笔记:管道流PipedInputStream和PipedOutputStream
2012-01-03 13:39 14746/* 管道流: PipedInputStr ... -
java学习笔记:文件的分割合并
2012-01-02 20:40 1466/* 分割合并小文件 在c盘先手动粘贴一个jpg ... -
元旦恶搞:模仿360和QQ大战(献给2011网络流行新词榜!)
2011-12-30 20:45 1570元旦即将来临,谨以此文献给2011网络流行新词榜... 榜首 ... -
java学习笔记:File类的listFiles方法,及使用匿名内部类和递归调用
2011-12-27 21:21 138501.File类的带参数的list方法的使用 2.复习使用匿名 ... -
java学习笔记:关于IO转换流InputStreamReader和OutputStreamWriter
2011-12-24 09:43 120541 字节流InputStream ... -
java自动编译批处理
2011-11-26 11:29 2079最近开始学习java 教程中用的是dos命令行环境, 每次 ...
相关推荐
### Selenium Java 学习笔记知识点总结 #### 一、Selenium简介与安装配置 - **Selenium概述**:Selenium 是一套完整的Web应用程序测试工具,主要用于自动化Web应用测试,能够模拟用户行为,支持多种浏览器环境。 - ...
### Java入门学习笔记 #### 一、Java特点与运行原理 **1.1 Java特点** - **简单性:** Java的设计使得它易于学习且避免了许多传统编程语言中存在的复杂性。 - **面向对象:** Java是一种纯面向对象的语言,支持...
通过这个压缩包,学习者可以深入理解Java Web测试的各个方面,包括编写测试用例、模拟外部服务、集成测试策略以及如何利用开源工具提升测试效率。对于初学者,这是一个很好的实践平台,对于经验丰富的开发者,也是一...
**Selenium学习笔记源代码** Selenium是一款强大的自动化测试工具,尤其在Web应用程序的测试领域,它被广泛应用。本学习笔记源代码旨在帮助开发者和测试工程师深入理解和掌握Selenium的基本用法,通过实际操作和...
### LotusDomino学习笔记知识点概览 #### 1. 选取视图的列的内容 (@Trim @DbColumn) - **@Trim**: 是一个内置的LotusScript函数,用于去除字符串两端的空白字符。 - **@DbColumn**: 此函数用于获取指定列的信息。...
本篇学习笔记将深入探讨Web测试的关键概念、工具和技术。 首先,让我们从Web服务器说起。Apache HTTP Server是一款广泛使用的开源Web服务器,它支持多种操作系统,包括Windows和Linux。Apache的灵活性和可扩展性...
- 对于Applet,还需要`appletviewer.exe`来模拟浏览器环境运行。 4. **标识符与关键字** - **标识符**:用于命名变量、类、方法等,遵循特定规则,如首字符不能为数字,建议采用驼峰命名法。 - **关键字**:Java...
- **MyWebServer示例代码**:通过一个简单的Java程序模拟Web服务器的工作流程。 #### 五、Tomcat服务器安装与配置 - **Tomcat安装步骤**: - 解压缩安装包。 - 设置环境变量`JAVA_HOME`指向JDK安装目录。 - 在`...
### 韩顺平Servlet笔记知识点总结 #### 第1章 B/S与C/S结构 ...以上是对“韩顺平Servlet笔记”的主要内容进行了详细的解析与总结,涵盖了从基础知识到实践操作的多个方面,希望能对学习者提供有益的帮助。
【QTP学习笔记之老牛.docx】是针对自动化测试工具QuickTest Professional(QTP)的基础新手教学。本文档详细介绍了QTP的核心概念、安装配置、以及如何录制WinApp程序和Web系统的操作步骤。 一、QTP概述 1. QTP简介...
这个学习笔记将为你揭示Android系统的基本架构以及如何在开发环境中管理这些文件。以下是一些关键的知识点: 1. **Android Studio项目结构**:Android Studio是Google官方推荐的Android开发集成开发环境(IDE)。当...
### JMeter学习笔记 #### JMeter简介 JMeter是一款开源的压力测试工具,它基于Java语言开发,主要用于评估和测试各种应用服务(如HTTP、FTP服务器)以及数据库等系统的负载能力和性能表现。它不仅可以用于压力测试...
### Linux学习笔记值得一看——详解Linux常用命令及操作技巧 #### 一、终端快捷键概览 在Linux环境中,熟练掌握终端快捷键能够显著提高工作效率。以下是一些常用的终端快捷键: - **Ctrl + a/Home**:切换到...
### Nutch 学习笔记之第一天初学 在IT领域,特别是搜索引擎开发和技术研究方向,Apache Nutch无疑是一个值得关注的开源项目。Nutch是Apache软件基金会的一个子项目,旨在为开发者提供一个高度可扩展且可定制化的...
【Java实现网上书店】是一个基于Web的项目,主要用于模拟实际的在线购书流程。这个项目由前后台两大部分组成,提供了用户友好的界面和后台管理功能。在项目的描述中,我们了解到它具备良好的前端设计,这表明用户...
- **B/S架构**:即浏览器/服务器(Browser/Server)架构,该架构下客户端只需要安装浏览器即可访问系统,无需安装其他特定的客户端程序。这种架构的优点在于便于维护和升级,只需更新服务器端即可。 #### 1.2 技术...
在本项目中,我们关注的是一个基于JAVA编程语言实现的纸牌游戏源代码。...通过深入理解这些知识点,我们可以更好地理解这个基于JAVA的纸牌游戏是如何构建的,并从中学习到游戏开发的实用技巧和最佳实践。
- **BS(Browser-Server)**:浏览器-服务器架构,如Web应用,用户通过浏览器与服务器交互,适用于分布式、多用户访问的场景。 - **CS(Client-Server)**:客户端-服务器架构,常见于桌面应用,用户直接与本地...