本人项目经验为0
现在开始自学,轻喷
import java.net*;
import java.io*;
import java.nio.channels.*;
import java.util.Properties;
- 连接到服务器
- 实现服务器
- 获取web数据
- 发送e-mail
- 可中断套接字
3.1 连接到服务器
telnet
telnet time-A.timefreq.bldroc.gov 13
“当日时间” 服务 总是连接到端口13
端口是指服务器与客户端之间通信使用的抽象概念
运
行
在
计
算
机
服
务
器
软
件
不
停
等
待
那
些
希
望
和
端
口
13
连
接
的
网
络
请
求
\quad 运行在计算机\\服务器软件\\不停等待\\那些希望和端口13\\连接的网络请求
运行在计算机服务器软件不停等待那些希望和端口13连接的网络请求
远 程 计 算 机 上 的 操 作 系 统 接 受 到 一 个 请 求 与 端 口 13 连 接 的 请 求 网 络 数 据 包 的 时 候 它 便 唤 醒 正 在 监 听 着 网 络 连 接 请 求 的 服 务 进 程 远程计算机上的 操作系统\\接受到一个请求与端口13\\连接的请求\\ 网络数据包的时候\\ 它便唤醒\\正在监听着\\网络连接请求的\\服务进程 远程计算机上的操作系统接受到一个请求与端口13连接的请求网络数据包的时候它便唤醒正在监听着网络连接请求的服务进程
网 络 软 件 有 一 段 代 码 清 楚 的 知 道 应 该 将 字 符 串 转 换 成 正 确 的 I P 地 址 123.163.4.103 网络软件\\有一段代码清楚的知道\\应该将字符串\\转换成正确的IP地址123.163.4.103 网络软件有一段代码清楚的知道应该将字符串转换成正确的IP地址123.163.4.103
t e l n e t 软 件 发 送 一 个 连 接 请 求 给 该 地 址 请 求 一 个 到 端 口 13 的 连 接 一 旦 建 立 了 连 接 远 程 程 序 发 送 一 个 数 据 然 后 关 闭 该 连 接 telnet 软件发送一个连接请求\\给该地址\\请求一个到端口13的连接\\一旦建立了连接\\ 远程程序发送一个数据\\然后关闭该连接 telnet软件发送一个连接请求给该地址请求一个到端口13的连接一旦建立了连接远程程序发送一个数据然后关闭该连接
你
是
否
好
奇
w
e
b
浏
览
器
访
问
某
个
网
页
到
底
经
历
的
说
明
你是否好奇\\ web浏览器访问某个网页到底经历的说明
你是否好奇web浏览器访问某个网页到底经历的说明
H
T
T
P
和
服
务
器
似
乎
在
请
求
w
e
b
页
面
这
个
过
程
发
挥
了
巨
大
的
作
用
HTTP和服务器似乎在请求web页面 \\这个过程\\发挥了巨大的作用
HTTP和服务器似乎在请求web页面这个过程发挥了巨大的作用
程序清单1 功能 是连接到某个端口\
打印它所找到的信息
ok 继续读代码
File baseDirectory = new File(args[0]);
主
函
数
的
S
t
r
i
n
g
[
]
a
r
g
s
究
竟
是
什
么
意
思
主函数的String[] args究竟是什么意思
主函数的String[]args究竟是什么意思
F
i
l
e
还
是
I
0
的
内
容
File 还是I0的内容
File还是I0的内容
创
建
一
个
好
的
输
入
输
出
系
统
是
一
项
艰
巨
的
任
务
创建一个好的输入输出系统\\是一项艰巨的任务
创建一个好的输入输出系统是一项艰巨的任务
F
i
l
e
类
可
以
帮
助
我
们
处
理
文
件
目
录
的
问
题
File类\\可以帮助我们\\处理文件目录的问题
File类可以帮助我们处理文件目录的问题
J
D
K
1.4
添
加
了
n
i
o
类
JDK1.4\\添加了nio类
JDK1.4添加了nio类
F
i
l
e
类
既
可
以
代
表
一
个
特
定
文
件
的
名
称
又
可
以
代
表
一
个
目
录
下
面
的
一
组
文
件
当
他
指
代
的
是
一
个
文
件
集
的
时
候
我
们
客
户
可
以
对
这
个
集
合
调
用
l
i
s
t
(
)
方
法
返
回
一
个
字
符
数
组
File类既可以代表\\一个特定文件的名称\\又可以代表一个目录下面\\的一组文件\\当他指代的是一个文件集的时候\\我们客户可以对这个集合调用\\list()方法\\返回一个字符数组
File类既可以代表一个特定文件的名称又可以代表一个目录下面的一组文件当他指代的是一个文件集的时候我们客户可以对这个集合调用list()方法返回一个字符数组
F
i
l
e
类
相
关
的
是
F
i
l
e
n
a
m
e
F
i
l
t
e
r
j
接
口
File类相关的是FilenameFilterj接口
File类相关的是FilenameFilterj接口
j a v a P r o p e r t i e s 类 是 用 于 读 取 j a v a 的 配 置 文 件 P r o p e r t i e s 继 承 与 H a s h t a b l e java Properties类是\\用于读取java的配置文件\\Properties继承与Hashtable \\ javaProperties类是用于读取java的配置文件Properties继承与Hashtable
m a v e n _ w r a p p e r 是 什 么 maven \_ wrapper是什么 maven_wrapper是什么
m a v e n 的 作 用 在 文 件 中 添 加 相 应 的 配 置 m a v e n 就 会 自 动 下 载 相 应 的 j a r 包 p o m . x m l 属 于 m a v e n 项 目 在 这 个 文 件 里 面 只 要 添 加 相 应 的 配 置 就 会 自 动 帮 你 下 载 相 应 的 j a r 包 maven的作用 在文件中添加相应的配置\\maven就会自动下载相应的jar包\\pom.xml属于maven项目\\在这个文件里面\\只要添加相应的配置\\就会自动帮你下载相应的jar包 maven的作用在文件中添加相应的配置maven就会自动下载相应的jar包pom.xml属于maven项目在这个文件里面只要添加相应的配置就会自动帮你下载相应的jar包
private static void downloadFileFromURL(String urlStirng, File destination) throws Exception{
String username = ...;
char[] password = ...;
}
这个方法大概和用户名和密码有关
File outputFile = new File(baseDirectory
A u t h e n t i c a t o r s e t D e f a u l t P a s s w o r d A u t h e n t i c a t i o n S y s t e m . g e t e n v ( " M V N W " ) M V N W d o w n l o a d F i l e F r o m U R L S y s t e m . e x i t ( 0 ) F i l e I n p u t S t r e a m F i l e O u t p u t S t r e a m g e t C h a n n e l t r a n s f e r F r o m n e w C h a n n e l R e a d a b l e B y t e C h a n n e l n e w U R L ( u r l S t i r n g ) Authenticator\\setDefault\\PasswordAuthentication\\System.getenv("MVNW")\\MVNW\\downloadFileFromURL\\System.exit(0)\\FileInputStream\\FileOutputStream\\getChannel\\transferFrom \\newChannel\\ReadableByteChannel\\new URL(urlStirng) AuthenticatorsetDefaultPasswordAuthenticationSystem.getenv("MVNW")MVNWdownloadFileFromURLSystem.exit(0)FileInputStreamFileOutputStreamgetChanneltransferFromnewChannelReadableByteChannelnewURL(urlStirng)
有点难看懂说实话 有点累了,我不喜欢把自己搞累,除非是必须的事情,。
n i o . c h a n n e l s 用 来 干 什 么 的 nio.channels 用来干什么的 nio.channels用来干什么的
MD5Util.java 算法 将密码加密,存储到数据库中,可以防止看到数据的人恶意篡改
生 词 j a v a . s e c u r i t y . M e s s a g e D i g e s t j a v a . s e c u r i t y . N o S u c h A l g o r i t h m E x c e p t i o p r i n t S t a c k T r a c e ( ) M e s s a g e D i g e s t m d = M e s s a g e D i g e s t . g e t I n s t a n c e ( " S H A " ) S t r i n g s t r s t r . g e t B y t e s ( ) S t r i n g h a s h r e t u r n h a s h m d . d i g e s t ( ) ; 生词 java.security.MessageDigest \\ java.security.NoSuchAlgorithmExceptio \\ printStackTrace()\\MessageDigest md\\ = MessageDigest.getInstance("SHA")\\ String \quad str str.getBytes()\\ String hash \\ return\quad hash \\md.digest(); 生词java.security.MessageDigestjava.security.NoSuchAlgorithmExceptioprintStackTrace()MessageDigestmd=MessageDigest.getInstance("SHA")Stringstrstr.getBytes()Stringhashreturnhashmd.digest();
源码 张峰/毕业设计
gitee里面的