java 获取网页写入本地文件来解决让一个js事件

依赖

org.apache.httpcomponents      httpmime      4.5.2                  org.apache.poi      poi      3.14

调用

public static void main(String[] args) throws ClientProtocolException, URISyntaxException, IOException {    String s =    writeWordFile("d:/", "ab.doc", getHttpData(s));    System.out.println("ok");  }

获取网页

// 请求网路自考网数据  public static String getHttpData(String url) throws URISyntaxException, ClientProtocolException, IOException {    List nameValuePairList = Lists.newArrayList();    nameValuePairList.add(new BasicNameValuePair("q", "x"));    URI uri = new URIBuilder(url).addParameters(nameValuePairList).build();    List headerList = Lists.newArrayList();    headerList.add(new BasicHeader(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate"));    headerList.add(new BasicHeader(HttpHeaders.CONNECTION, "keep-alive"));    HttpClient httpClient = HttpClients.custom().setDefaultHeaders(headerList).build();    HttpUriRequest httpUriRequest = RequestBuilder.get().setUri(uri).build();    HttpResponse httpResponse = httpClient.execute(httpUriRequest);    HttpEntity entity = httpResponse.getEntity();    String rawHTMLContent = EntityUtils.toString(entity);    EntityUtils.consume(entity);    return rawHTMLContent;  }

写入本地

public static void writeWordFile(String path, String fileName, String content) {    try {      if (!"".equals(path)) {        // 检查目录是否存在        File fileDir = new File(path);        if (fileDir.exists()) {          byte b[] = content.getBytes();          ByteArrayInputStream bais = new ByteArrayInputStream(b);          POIFSFileSystem poifs = new POIFSFileSystem();          DirectoryEntry directory = poifs.getRoot();          DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);          FileOutputStream ostream = new FileOutputStream(path + fileName);          poifs.writeFilesystem(ostream);          bais.close();          ostream.close();        }      }    } catch (IOException e) {      e.printStackTrace();    }  }

import

import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;import org.apache.http.Header;import org.apache.http.HttpEntity;import org.apache.http.HttpHeaders;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpUriRequest;import org.apache.http.client.methods.RequestBuilder;import org.apache.http.client.utils.URIBuilder;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicHeader;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.apache.poi.poifs.filesystem.DirectoryEntry;import org.apache.poi.poifs.filesystem.DocumentEntry;import org.apache.poi.poifs.filesystem.POIFSFileSystem;import org.assertj.core.util.Lists;

window.addEventListener来解决让一个js事件执行多个函数

本篇文章来简单介绍一下JS作用域,以及BOM对象中的三个基础对象,分别是window对象、history对象和location对象。

一、JS作用域

1、函数嵌套作用域

//函数作用域    var place="Beijing";  //外部定义的变量    function outer()    {        var place="Chengdu";  //outer函数下的重新定义        function inner()        {            var place="Guangzhou";  //inner函数下的定义            console.log(place);        }        inner();    }    // //调用outer函数,同时会执行inner函数    outer();

执行结果:
Guangzhou

2、函数多调用

var name="路飞";    function bar()    {        console.log(name);    }    function func()    {        var name="索隆";        return bar;    }    var ret=func();  //将func函数执行的返回结果赋值给ret变量,即ret将代表bar函数    ret();  //调用ret函数,即bar函数    //又因为bar函数的作用域在外部,与它同级的name变量值为"路飞"

执行结果:
路飞

二、window窗口

1、BOM简介
BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 JavaScript 有能力与浏览器”对话”。

2、window对象方法汇总

  • alert() 显示带有一段消息和一个确认按钮的警告框。
window.alert("欢迎访问!");

java 获取网页写入本地文件来解决让一个js事件
  • confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
var ret= window.confirm("您确定要访问吗?");  //由用户做出选择,因此有一个返回值    console.log(ret);

java 获取网页写入本地文件来解决让一个js事件
  • prompt() 显示可提示用户输入的对话框。
var ret= window.prompt("您的访问指令:");  //要去用户输入内容,在控制台显示    console.log(ret);

java 获取网页写入本地文件来解决让一个js事件
  • open() 打开一个新的浏览器窗口或查找一个已命名的窗口。(不常用)
  • close() 关闭浏览器窗口。(不常用)
  • setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
  • clearInterval() 取消由 setInterval() 设置的 timeout。
setInterval(func,1000);  //表示每隔1000毫秒(1秒)执行一次函数func()    function func()    {        console.log("Hello JavaScript!");    }

java 获取网页写入本地文件来解决让一个js事件

可以看到这个地方会一直有”Hello JavaScript!”的出现。

下面是由setInterval和clearInterval实现的动态时间更新小案例…

JS(

history2:

TitleBack

这样就可以实现一个基本的前进和返回的效果(这个其实也不太常用)

四、location对象

1、简介
Location 对象包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

2、location下的方法

  • location.assign(URL)
  • location.reload()
  • location.replace(newURL)//注意与assign的区别

3、测试代码





Title






Original: https://www.cnblogs.com/shanghaiweb/p/16544700.html
Author: 源计划crh
Title: java 获取网页写入本地文件来解决让一个js事件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/594193/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Docker 容器中安装 Docker

    本文讲的是在Docker中安装Ubuntu容器,然后在这个Ubuntu容器中再安装Docker。或许这样可以省下买服务器的钱,当然这只是为了学习测试使用,真正项目上还是需要买服务器…

    Java 2023年6月5日
    078
  • String类常用的API

    String类常用API总结及注意事项 String类常用的API 字符串内容的比较: 注意: 不能使用 == 去比较两个字符串的内容。原理:比较的是字符串的地址。(如果两个字符串…

    Java 2023年6月6日
    075
  • java并发的发布和订阅测试

    现在编码的时候,为了处理消息,大家动不动就上个重器,例如MQ之类的。但很多时候,并不是那么有必要,因为数据量和并发其实远远不够。 可以替代的方案非常多,其中一个是java.util…

    Java 2023年6月9日
    048
  • Java是编译型语言还是解释型语言

    Java是编译型语言还是解释型语言 答案:java既是编译型语言,也是解释型语言。 你可以说它是编译型的。因为所有的Java代码都需要经过javac编译为.class文件,但主要是…

    Java 2023年6月13日
    042
  • 2.JAVA BIO

    Java BIO基本介绍 java BIO就是传统的java io编程,其相关的类和接口在java.io 同步阻塞,服务器实现模式是一个连接一个线程,即客户端有连接请求时服务器就需…

    Java 2023年6月5日
    072
  • xxl-job日志

    流程(JobLogReportHelper.java的start方法) posted @2021-06-23 17:27 花弄影 阅读(1299 ) 评论() 编辑 Origina…

    Java 2023年6月15日
    075
  • 群晖安装wordpress 外网(域名访问)

    群晖安装wordpress 外网(域名访问) 1.群晖套件安装的不知道咋弄,外网无法访问 2.偷懒访式安装 2.1群晖套件安装wordpress,后删除wordpress,但是不删…

    Java 2023年6月6日
    088
  • 「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表关系管理(六)

    基于Vue和Quasar的前端SPA项目实战之表关系(六) 回顾 通过上一篇文章基于Vue和Quasar的前端SPA项目实战之动态表单(五)的介绍,我们已经完成了元数据中动态表单设…

    Java 2023年6月6日
    086
  • 重构

    参数过长 影响: 方法不易被理解、使用,方法签名容易不稳定,不易维护 解决方法:反复使用提炼方法+内联方法,消除多余参数 ​ 尽量把方法移进相关的类中 ​ 如实体类中的get方法在…

    Java 2023年6月8日
    088
  • adobeacrobatXpro 十分好用得pdf编辑工具

    下载地址百度云 链接:https://pan.baidu.com/s/1Vfn6HiKdKmRKznaHX9-x1w提取码:6lay Original: https://www.c…

    Java 2023年6月13日
    062
  • 从-1开始实现一个中间件

    别人都写从0开始实现xxx,我先从-1开始就显得更牛逼一些。 今天,先开个头,来教大家怎么实现一个中间件。 新建项目 首先,我们新建一个多 module 的项目用于测试。 项目包含…

    Java 2023年6月13日
    061
  • ShenYu 网关开发:在本地启用运行

    1.先决条件 无论什么方式安装,都需要先初始化数据库,这里我选择了在本地通过 Docker 启用一个 mysql 5.7 docker run -d \ –name mysql …

    Java 2023年6月9日
    068
  • SpringBoot设置Undertow替换Tomcat

    依赖处理 先排除Tomcat依赖 ,然后引入undertow依赖 一些yml的配置项 undertow进行文件上传逻辑代码编写时,因底层实现不同,无需创建新文件,即不需要以下代码 …

    Java 2023年5月30日
    061
  • JDBC基础学习

    JDBC JDBC(Java DataBase Connectivity)是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够执行SQL语句。它由一组用Java语言编写…

    Java 2023年6月16日
    060
  • MySQL8免安装版下载安装与配置(windows)

    一、MySQL8下载 官网下载地址:MySQL :: Download MySQL Community Server 点击免安装版的”Download”跳转…

    Java 2023年6月8日
    093
  • TreeMap源码分析

    TreeMap源码分析 数据结构 TreeMap使用红黑树来存储数据,红黑树是一种平衡二叉查找树,它是一种高效的搜索算法,它的算法时间复杂度是O(lgn) 增删改查 增改 publ…

    Java 2023年6月16日
    071
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球