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)

大家都在看

  • kafka-connect-kudu-sink插件

    kafka-connect-hive是基于 kafka-connect平台实现的 hive数据读取和写入插件,主要由 source、 sink两部分组成, source部分完成 h…

    Java 2023年6月6日
    090
  • JAVA压缩ZIP文件

    csharp;gutter:true; public static void main(String[] args) throws IOException { String pat…

    Java 2023年5月29日
    089
  • logback

    logback的架构 logback-core:基础模块, 为其它的两个模块提供支持logback-classic:是log4j的改进版本, 并且此模块实现了slf4j api, …

    Java 2023年6月8日
    072
  • tengine、nginx配置正向代理,其他内网机器通过代理访问外网,支持https

    cd /usr/local/src wget https://tengine.taobao.org/download/tengine-2.3.3.tar.gz tar zxvf t…

    Java 2023年5月30日
    058
  • 简单理解ajax

    一、什么是ajax ajax是一个近几年在前端开发中经常听到的名词,啥是ajax啊? 首先,ajax不是一门编程语言,它是一种技术,它的作用是减少网络传输量,提高了用户体验. 咋来…

    Java 2023年6月8日
    070
  • 两天两夜,1M图片优化到100kb!

    坦白从宽吧,我就是那个花了两天两夜把 1M 图片优化到 100kb 的家伙——王小二! 自从因为一篇报道登上热搜后,我差点抑郁,每天要靠 50 片安眠药才能入睡。 网络上曝光的那些…

    Java 2023年6月9日
    079
  • session和cookie的区别

    一·概念理解 首先呢,要了解session和cookie的区别先要了解以下几个概念: 1、 无状态的HTTP协议: 协议,是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的…

    Java 2023年5月30日
    079
  • 从new File(“”)到jdk源码

    概述 今天在项目中看到下面两行代码,看注释说是获取当前工作路径,之前也没有用过这种用法,比较好奇还能这样用,所以研究了一下源码。 //获&#x53D6…

    Java 2023年6月14日
    075
  • 10轮伪匹配

    26名学生,每个人可以填写10个交谈对象: 10轮匹配结果: 1、pom.xml <dependency> <groupId>junitgroupId&gt…

    Java 2023年6月13日
    076
  • 初踩坑JS加载与audio接口:点击头像开始/暂停背景音乐

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月5日
    066
  • java重试

    重试 重试,就是多试几次。一次不成功,多试几次说不定就成功了。 什么时候重试? 要执行的逻辑比较重要,或者是服务不稳定,或者是Rpc远程调服务有时不成功,都可以使用重试。 示例代码…

    Java 2023年5月29日
    074
  • Java:聊聊Java基础(1)- 简介

    Java简介 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 Jav…

    Java 2023年6月5日
    074
  • 【spring-boot】mybatis 使用入门

    新建项目 设置项目名称 设置为Web项目 工程初始化 目录结构 相关配置文件修改 配置pom.xml文件 1.修改pom.xml文件,添加mybatis配置 mysql mysql…

    Java 2023年5月29日
    0104
  • 老生常谈系列之Aop–Aop的经典应用之Spring的事务实现分析(一)

    老生常谈系列之Aop–Aop的经典应用之Spring的事务实现分析(一) 前言 前面的系列文章已经大概讲解了Spring Aop的实现,从AspectJ开始,到Spri…

    Java 2023年6月8日
    091
  • SpringMvc(二)- 请求处理参数 和 响应数据处理

    1、请求处理参数 1.1 请求参数 @RequestParam 1.1.1 不使用 @RequestParam 注解 请求参数处理, 不使用参数注解:1.如果 请求参数名和请求处理…

    Java 2023年6月15日
    078
  • Java开发学习(五)—-bean的生命周期

    一、什么是生命周期 首先理解下什么是生命周期? 从创建到消亡的完整过程,例如人从出生到死亡的整个过程就是一个生命周期。 bean生命周期是什么? bean对象从创建到销毁的整体过程…

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