依赖
- <dependency><br> <groupId>org.apache.httpcomponents</groupId><br> <artifactId>httpmime</artifactId><br> <version>4.5.2</version><br> </dependency><br><br> <br> <dependency><br> <groupId>org.apache.poi</groupId><br> <artifactId>poi</artifactId><br> <version>3.14</version><br> </dependency>
复制代码
调用
- public static void main(String[] args) throws ClientProtocolException, URISyntaxException, IOException {<br> String s =<br><br> writeWordFile("d:/", "ab.doc", getHttpData(s));<br> System.out.println("ok");<br> }
复制代码
获取网页
- // 请求网路自考网数据<br> public static String getHttpData(String url) throws URISyntaxException, ClientProtocolException, IOException {<br> List<NameValuePair> nameValuePairList = Lists.newArrayList();<br> nameValuePairList.add(new BasicNameValuePair("q", "x"));<br> URI uri = new URIBuilder(url).addParameters(nameValuePairList).build();<br> List<Header> headerList = Lists.newArrayList();<br> headerList.add(new BasicHeader(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate"));<br> headerList.add(new BasicHeader(HttpHeaders.CONNECTION, "keep-alive"));<br> HttpClient httpClient = HttpClients.custom().setDefaultHeaders(headerList).build();<br> HttpUriRequest httpUriRequest = RequestBuilder.get().setUri(uri).build();<br> HttpResponse httpResponse = httpClient.execute(httpUriRequest);<br> HttpEntity entity = httpResponse.getEntity();<br> String rawHTMLContent = EntityUtils.toString(entity);<br> EntityUtils.consume(entity);<br> return rawHTMLContent;<br> }
复制代码 写入本地
- public static void writeWordFile(String path, String fileName, String content) {<br> try {<br> if (!"".equals(path)) {<br> // 检查目录是否存在<br> File fileDir = new File(path);<br> if (fileDir.exists()) {<br> byte b[] = content.getBytes();<br> ByteArrayInputStream bais = new ByteArrayInputStream(b);<br> POIFSFileSystem poifs = new POIFSFileSystem();<br> DirectoryEntry directory = poifs.getRoot();<br> DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);<br> FileOutputStream ostream = new FileOutputStream(path + fileName);<br> poifs.writeFilesystem(ostream);<br> bais.close();<br> ostream.close();<br> }<br> }<br> } catch (IOException e) {<br> e.printStackTrace();<br> }<br> }
复制代码
import
- <br>import java.io.ByteArrayInputStream;<br>import java.io.File;<br>import java.io.FileOutputStream;<br>import java.io.IOException;<br>import java.net.URI;<br>import java.net.URISyntaxException;<br>import java.util.Iterator;<br>import java.util.List;<br>import java.util.Map;<br>import java.util.Set;<br><br>import javax.servlet.http.HttpServletRequest;<br><br>import org.apache.http.Header;<br>import org.apache.http.HttpEntity;<br>import org.apache.http.HttpHeaders;<br>import org.apache.http.HttpResponse;<br>import org.apache.http.NameValuePair;<br>import org.apache.http.client.ClientProtocolException;<br>import org.apache.http.client.HttpClient;<br>import org.apache.http.client.methods.HttpUriRequest;<br>import org.apache.http.client.methods.RequestBuilder;<br>import org.apache.http.client.utils.URIBuilder;<br>import org.apache.http.impl.client.HttpClients;<br>import org.apache.http.message.BasicHeader;<br>import org.apache.http.message.BasicNameValuePair;<br>import org.apache.http.util.EntityUtils;<br>import org.apache.poi.poifs.filesystem.DirectoryEntry;<br>import org.apache.poi.poifs.filesystem.DocumentEntry;<br>import org.apache.poi.poifs.filesystem.POIFSFileSystem;<br>import org.assertj.core.util.Lists;
复制代码 window.addEventListener来解决让一个js事件执行多个函数
本篇文章来简单介绍一下JS作用域,以及BOM对象中的三个基础对象,分别是window对象、history对象和location对象。
一、JS作用域
1、函数嵌套作用域- //函数作用域<br> var place="Beijing"; //外部定义的变量<br> function outer()<br> {<br> var place="Chengdu"; //outer函数下的重新定义<br> function inner()<br> {<br> var place="Guangzhou"; //inner函数下的定义<br> console.log(place);<br> }<br> inner();<br> }<br> // //调用outer函数,同时会执行inner函数<br> outer();
复制代码 执行结果:
Guangzhou
2、函数多调用- var name="路飞";<br> function bar()<br> {<br> console.log(name);<br> }<br> function func()<br> {<br> var name="索隆";<br> return bar;<br> }<br> var ret=func(); //将func函数执行的返回结果赋值给ret变量,即ret将代表bar函数<br> ret(); //调用ret函数,即bar函数<br> //又因为bar函数的作用域在外部,与它同级的name变量值为“路飞”
复制代码 执行结果:
路飞
二、window窗口
1、BOM简介
BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 JavaScript 有能力与浏览器“对话”。
2、window对象方法汇总
- alert() 显示带有一段消息和一个确认按钮的警告框。

- confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
- var ret= window.confirm("您确定要访问吗?"); //由用户做出选择,因此有一个返回值<br> console.log(ret);
复制代码
- var ret= window.prompt("您的访问指令:"); //要去用户输入内容,在控制台显示<br> console.log(ret);
复制代码
- open() 打开一个新的浏览器窗口或查找一个已命名的窗口。(不常用)
- close() 关闭浏览器窗口。(不常用)
- setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
- clearInterval() 取消由 setInterval() 设置的 timeout。
- setInterval(func,1000); //表示每隔1000毫秒(1秒)执行一次函数func()<br> function func()<br> {<br> console.log("Hello JavaScript!");<br> }
复制代码
可以看到这个地方会一直有"Hello JavaScript!"的出现。
下面是由setInterval和clearInterval实现的动态时间更新小案例…
JS(
[/code]history2:- <!DOCTYPE html><br><html lang="en"><br><head><br> <meta charset="UTF-8"><br> <title>Title</title><br></head><br><body><br><br><button onclick="history.back()">Back</button><br></body><br></html>
复制代码 这样就可以实现一个基本的前进和返回的效果(这个其实也不太常用)
四、location对象
1、简介
Location 对象包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
2、location下的方法
- location.assign(URL)
- location.reload()
- location.replace(newURL)//注意与assign的区别
3、测试代码- <!DOCTYPE html><br><html lang="en"><br><head><br> <meta charset="UTF-8"><br> <title>Title</title><br></head><br><body><br><button onclick="f()">点我!</button><br><br><br></body><br></html>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |