- 《Spring实战》读书笔记-第5章 构建Spring Web应用程序
2401_86367086
面试辅导大厂内推spring前端java
5.1SpringMVC起步SpringMVC框架主要包括请求调度Servlet、处理器映射(handlermapping)、控制器以及视图解析器(viewresolver)这些组件。跟踪SpringMVC的请求Web请求从离开浏览器开始到获取响应返回,它会经历好多站,每站都会留下一些信息同时带上其他信息。一路上请求会将信息带到很多站点,并产生期望的结果请求带着URL以及其他信息离开浏览器后,第一
- Spring MVC 架构详解
firepation
SpringJavaspringmvc
SpringMVC(Model-View-Controller)是Spring框架中用于构建Web应用程序的模块。它通过分离应用程序的不同方面(输入逻辑、业务逻辑和UI逻辑)来简化开发工作。本文将详细介绍SpringMVC架构及其基本组件,包括DispatcherServlet、HandlerMapping、Controller和ViewResolver。SpringMVC架构SpringMVC架
- SpringMVC 的组件与基本使用
康康峰
SpringMVC源码解析springmvcjava后端
2.4SpringMVC对视图的支持2.4.1视图查找解析SpringMVC提供了ViewResolver接口用以通过视图名查找并解析视图。该接口有resolveViewName方法,返回View视图。接受String类型的视图名,以该视图名进行查找。还有Locale类型的地区参数,用于进行国际化。SpringMVC的控制器中支持多个ViewResolver,查找视图时进行遍历查找,直到找到相应的
- 05. spring-boot对spring-mvc的自动配置
马晓钧
spring-mvc的自动配置viewResolver:视图解析器:根据方法的返回值得到视图对象(View)。//会将容器中已有的ViewResolver和自己定义的ViewResolver全部add进去ContentNegotiatingViewResolver自定义视图解析器://需要实现ViewResolver,并注入进容器@ConfigurationpublicclassViewConfi
- springboot的WebMvcConfigurer接口学习
[email protected]
springboot学习java
WebMvcConfigurer接口说明WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的springmvc配置,需要创建一个配置类并实现WebMvc
- SpringBoot之WebMvcConfigurer接口
Amazing_deron
SpringBoot
SpringBoot确实为我们做了很多事情,但有时候我们想要自己定义一些Handler,Interceptor,ViewResolver时该怎么做呢?在SpringBoot1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦截器,消息转换器等。SpringBoot2.0后,该类被标记为@Deprecated。因此我们只能靠实现WebMvcConfigurer接口来
- What is `@Controller` does?
张紫娃
SpringBoot注解SpringMVCjava
@Controller是SpringMVC注解,标记一个类作为Web控制器(Controller),负责处理HTTP请求并返回响应结果在SpringMVC中,控制器类的主要职责是:1、接收来自客户端的HTTP请求2、调用服务层或其他业务逻辑组件3、根据操作结果准备视图模型数据(Model),将控制权转移给视图解析器(ViewResolver)来渲染视图4、操作结果直接返回HTTP响应(例如JSON
- SpringMVC源码深度解析
冰魄雕狼
springmvcspringjavaservlet
目录SpringMVC的三大组件DispatcherServlet:前端控制器HandlerMapping:处理器映射器HandlerExecutionChain:处理器执行链Handler:处理器HandlerAdapter:处理器适配器ModelAndView:模型和视图ViewResolver:视图解析器View:视图HandlerExceptionResolver:处理器异常解析器Http
- Spring Boot-3.Web相关配置
悠扬前奏
1.SpringBoot提供的自动配置通过查看WebMvcAutoConfiguration和WebMvcProperties的源码可以发现自动配置。1.1自动配置的ViewResolver1.1.1ContentNegotiatingViewResolver由SpringMVC提供的特殊ViewResolver,它并不是自己处理View,而是代理给不同的ViewResolver来处理不同的Vie
- 理解SpringMVC的工作流程
Flora.~
理解录java
组件前置控制器DispatcherServlet。映射控制器HandlerMapping。处理器Controller。模型和视图ModelAndView。视图解析器ViewResolver。工作流程springmvc先将请求发送给DispatcherServlet。DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller。Dispatcher
- 深入了解Spring MVC工作流程
达芬奇要当程序员
springmvcjava
目录1.MVC架构简介2.SpringMVC的工作流程2.1.客户端请求的处理2.2.视图解析和渲染2.3.响应生成与返回3.SpringMVC的关键组件3.1.DispatcherServlet3.2.HandlerMapping3.3.Controller3.4.ViewResolver4.结论SpringMVC(Model-View-Controller)是Spring框架中用于开发Web应
- SpringMVC 调用数据库显示数据
TracyDemo
Spring
设计流程.do请求----DispactcherServlet----handlerMapping—NewsListController-ViewResolver-news.jspweb.xml配置DispacherServletspringmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclassp
- springmvc不使用注解的配置
迷失的小鹿
javajava
springmvc不使用注解的配置springmvc框架springmvc工作流程springmvc中的组件DispatcherServlet映射处理器HandlerMapping常用的映射器处理器有如下两种处理器适配器HandlerAdapterHandler处理器ViewResolver(视图解析器)入门程序添加springmvc依赖的jar包配置DispatcherServlet在sprin
- Spring MVC学习随笔-第一个Spring MVC程序(父子项目结构、Tomcat配置、ViewResolver)
rookies99
SpringMVCspringmvc学习
学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅第二章、第一个SpringMVC程序的开发2.1开发版本JDK1.8+Maven3.6+IDEA2021+SpringFramework5.1.4Tomcat8.5.29MySQL5.7.18按照父子项目的结构,管理和创建项目,创建一个空Project作为父项目,pom文件如下4.0.0c
- SpringMVC五大组件工作流程
pluszzh
SpringMVC
DispatcherServlet前端控制器HandlerMapping映射处理器Controller:处理器ModelAndView:(处理结果和视图名)ViewResolver视图解析器。执行流程1.用户请求发送给前端控制器(DispatcherServlet),前端控制器收到请求路径,但不知道请求的是那个Control中的哪个方法2.DispatcherServlet找到处理器映射器(Han
- SpringMVC原理
码ming
#SpringMVCspringspringmvc原理
SpringMVC的功能组件Spring通过一系列组件实现功能,这些组件包括DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)Handler(处理器)、HandlAdapter(处理器适配器)、ViewResolver(视图解析器)等。DispatcherServlet(前端控制器)前端控制器负责拦截客户端请求并分发给其他组件,它是整个流程控制的中心,负
- (二)SpringMVC原理解析之大致流程分析
Armyyyyy丶
Java第三方集成框架#SpringMVC相关mvcspringjava
目录一、传统MVC模式二、SpringMVC对MVC的改变以及封装1.servlet-name的配置注入2.编写的@Controller注解类3.指定ViewResolver一、传统MVC模式既然要了解SpringMVC,就应该了解MVC架构的模型。其架构图如下:该图大致描述了MVC的运行流程:用户通过在view视图上操作产生事件;事件经过controller控制层进行处理,也可以直接请求mode
- Springmvc原理解析
zhizhiqiuya
SpringMVCjava开发语言spring
1.DispatcherServletspringmvc的核心控制器,负责截获所有的请求,当截获请求后委托给HandlerMapping进行请求映射的解析工作,目的是找到哪一个Controller的方法可以处理该请求,找到后再交由给HandlerAdaptor去负责调用并返回ModelAndView对象,然后将ModelAndView对象交给相应的视图解析器(ViewResolver)解析成对应的
- Spring Boot导出Pdf文件
秃头哥编程
JavaWebSpringBoot导出pdf文件
除了常见的jsp视图外,还有pdf,excel等。不管哪种视图,都会实现SpringMvc定义的视图接口View。这篇文章就讲讲怎么使用Pdf视图----AbstractPdfView。AbstractPdfView属于非逻辑视图,不需要任何的视图解析器(ViewResolver)去定位。它是一个抽象类,有一个抽象方法需要我们去实现。/***通过数据模型自定义创建pdf文档*@parammodel
- spring boot 学习3 web MVC核心与视图
RunMonster
springbootspringbootwebmvc
内容:理解、认识、简化servlet特点:请求响应式(Request/Response)、屏蔽网络通讯细节、有完整的生命周期职责:处理请求(handler等)、资源管理(连接数据库、redis)、视图渲染(html等)核心组件:处理器管理映射:HandlerMapping适配器:HandlerAdapter执行:HandlerExecutionChain视图解析:ViewResolver国际化:L
- WebMvcConfigurer讲解
老爸是程序员
SpringBootspringboot
一句话简介WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的springmvc配置,需要创建一个配置类并实现WebMvcConfigurer接口主要讲
- WebMvcConfigurer配置详解
zzhongcy
JavaSpringBoot后端
一、简介WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的springmvc配置,需要创建一个配置类并实现WebMvcConfigurer接口;在Sp
- 算不上最全,但都是必备——Spring MVC这些不会不行啊
学徒630
学习笔记篇springmvc状态模式
SpringMVC篇SpringMVC执行流程四大组件前端控制器DispatcherServlet处理器映射器HandlerMapping处理器适配器HandlerAdaptor视图解析器ViewResolver视图阶段(JSP)请求先到前端控制器DispatcherServletDispatcherServlet将根据该请求的路径去处理器映射器HandlerMapping查handler(con
- 推荐一个基于 SpringBoot2 + MybatisPlus 的商城管理系统
程序猿陳同学
javaspringspringboot
简单介绍Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。SpringMVC是Spring的一个模块,一个web框架。通过DispatcherServlet,ModelAndView和ViewResolver,开发web应用变得很容易。主要针对的是网站应用程序或者服务开发——URL路由、Session、模板引
- SpringBoot自动装配原理/Spring-boot-mvc-cloud联系与区别
Chuan123ZJC
java框架/中间件/项目springbootmvc
注:个人学习使用一、自动装配原理1.不使用自动装配的情况使用过Spring的小伙伴,一定有被XML配置统治的恐惧。即使Spring后面引入了基于注解的配置,我们在开启某些Spring特性或者引入第三方依赖的时候,还是需要用XML或Java进行显式配置。比如需要引入一个ViewResolver,传统的方式需要先在xml文件中进行配置:****然后通过@Bean注解注入IOC容器;2.使用自动装配Sp
- springBoot 自动配置机制
冯浩(grow up)
springbootspringbootjava后端
springBoot自动配置机制自动配置的tomcat、springmvc等默认包扫描规则自定义扫描路径配置默认值按需加载自动配置总结自动配置的tomcat、springmvc等导入场景,容器中就会自动配置好这个场景的核心组件以前:dispatcherservlet、viewresolver、characterencodingfilter…都是自己配置的现在:自动配置好的这些组件验证:容器中有什么
- Spring MVC 五大组件
公众号:Java后端
springjavaspringbootmvcservlet
是一个MVC架构,用来简化基于MVC架构的Web应用开发。SpringMVC最重要的就是五大组件1.DispatcherServlet2.HandleMapping3.Controller4.ModeAndView5.ViewResolver下面一一介绍这五大控件1.DispatcherServlet这个控件是SpringMVC最核心的一个控件,顾名思义其实他就是一个Servlet,是Spring
- springmvc的八大步骤
走进java小小白
首先要记住几个概念:前端控制器:DispatcherServlet处理器映射器:HandlerMapping处理器执行链:HandlerExecutionChain处理器适配器:HandlerAdapter视图解析器:ViewResolver1.客户端发送请求到前端控制器(DispatcherServlet)2前端控制器(DispatcherServlet)请求处理器映射器(HanderMappi
- 一文拿捏SpringMVC的调用流程
NIIMP
springspring
SpringMVC的调用流程1.核心元素:DispatcherServlet(前端控制器)HandlerMapping(处理器映射器)HandlerAdapter(处理器适配器)--->Handler(处理器)ViewResolver(视图解析器)--->view(视图)2.调用流程用户发送请求到前端控制器前端控制器接收用户请求并交由处理器映射器进行映射处理处理器映射器找到具体的处理器(可查找xm
- Spring Boot Web的相关配置
若疆赤云online
springboot
SpringBoot提供了一下两个类来配置WEB配置org.springframework.boot.autoconfigure.web.WebMvcAutoConfigurationorg.springframework.boot.autoconfigure.web.WebMvcProperties具体查看源码。1、自动配置ViewResolver1)ContentNegotiatingView
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
 
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p