<!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">
		<meta name="format-detection" content="telephone=no">
		<title>SpringMVC 、Struts2之间的区别-思洋互动</title>
		<meta name="keywords" content="SpringMVC 、Struts2之间的区别">
	    <meta name="description" content="一、Spring与SpringMVC的区别： spring是一个开源框架，是为了解决企业应用程序开发，功能如下： 功能：使用基本的JavaBean代替EJB，并提供了更多的企业应用功能 范围：任何...">
		<meta name="renderer" content="webkit" />
		<link href="/css/main.css?v=39" rel="stylesheet">
		<link href="/css/base.css?v=39" rel="stylesheet">
        <link href="/css/swiper-3.4.2.min.css" rel="stylesheet">
		<script type="text/javascript" src="/js/jquery.min.js"></script>
        <script type="text/javascript" src="/js/swiper-3.4.2.min.js"></script>
		<!--[if lt IE 9]>
            <script src="/js/html5shiv.min.js"></script>
            <script src="/js/respond.min.js"></script>
            <link href="/css/ie.css" rel="stylesheet">
        <![endif]-->
		<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?8914d517c927d8e794148d05e387fb17";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
<link rel="canonical" href="https://www.ciya.cn/article/1119.html">
		</head>
	<body class="no-banner">
		<div class="container">
			<div class="header">
	<div class="header-top">
		<div class="w1700">
			<a href="https://www.ciya.cn/"><img src="/images/logo.png?v=2"></a>
		</div>
	</div>
	<div class="header_b">
		<header class="slide">
			<div id="navToggle" class="menu-handler">
				<span class="burger burger-1 trans"></span>
				<span class="burger burger-2 trans-fast"></span>
				<span class="burger burger-3 trans"></span>
			</div>
		</header>
	</div>
	<nav class="slide">
		<div class="w1700">
			<a class="index" href="/"></a>
			<ul>
								<li><a href="https://www.ciya.cn/case/12.html">项目案例</a></li>
								<li><a href="https://www.ciya.cn/website/9.html">网站建设</a></li>
								<li><a href="https://www.ciya.cn/marketing/10.html">网络营销</a></li>
								<li><a href="https://www.ciya.cn/media/11.html">新媒体</a></li>
								<li class="active"><a href="https://www.ciya.cn/news/16.html">动态</a></li>
								<li><a href="https://www.ciya.cn/about/8.html">关于</a></li>
								<li><a href="https://www.ciya.cn/contact/13.html">联系</a></li>
							</ul>
		</div>
	</nav>
</div>            <div class="content slide">
                <div class="position bgf1">
                    <div class="w1700">
                        <a href="https://www.ciya.cn/">首页 ></a>
                        <a href="https://www.ciya.cn/news/16.html">动态 ></a>
                        <a href="https://www.ciya.cn/news/35.html">网站知识</a>
                    </div>
                </div>
                <div class="case-type">
                    <div class="w1700">
                                                <a href="https://www.ciya.cn/news/32.html" >品牌合作</a>
                                                <a href="https://www.ciya.cn/news/31.html" >新闻动态</a>
                                                <a href="https://www.ciya.cn/news/38.html" >网站建设</a>
                                                <a href="https://www.ciya.cn/news/41.html" >网站制作</a>
                                                <a href="https://www.ciya.cn/news/40.html" >网站设计</a>
                                                <a href="https://www.ciya.cn/news/42.html" >运营推广</a>
                                                <a href="https://www.ciya.cn/news/35.html"  class="active">网站知识</a>
                                            </div>
                </div>
                <div class="padding-tb80">
                    <div class="w1700 clear">
                        <div class="fl xwxq-l">
                            <div class="noselettext">
                                <div class="xwxq-title mg-bt60 wow slideUp">
                                    <h1 class="mg-bt35">SpringMVC 、Struts2之间的区别</h1>
                                    <span>时间：2022-07-18</span>
                                </div>
                                <div class="edit2 mg-bt60 wow slideUp">
                                                                        <p><strong>一、Spring与SpringMVC的区别： &nbsp;</strong></p><p>spring是一个开源框架，是为了解决企业应用程序开发，功能如下： &nbsp;</p><p>功能：使用基本的JavaBean代替EJB，并提供了更多的企业应用功能 &nbsp;</p><p>范围：任何Java应用 &nbsp; Spring是一个轻量级的控制反转（IoC）和面向切面（AOP）的容器框架。</p><p>&nbsp;&nbsp; 1、轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外，&nbsp;Spring是非侵入式的：典型地，Spring应用中的对象不依赖于Spring的特定类。&nbsp;&nbsp;</p><p>&nbsp; 2、控制反转——Spring通过一种称作控制反转（IoC）的技术促进了松耦合。当应用了IoC，一个对象依赖的其它对象会通过被动的方式传递进来，而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器 &nbsp;&nbsp;&nbsp; 中查找依赖，而是容器在对象初始化时不等对象请求就主动将依赖传递给它。&nbsp;&nbsp;&nbsp;</p><p>3、面向切面——Spring提供了面向切面编程的丰富支持，允许通过分离应用的业务逻辑与系统级服务（例如审计（auditing）和事务（transaction）管理）进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑—— &nbsp;&nbsp;&nbsp; 仅此而已。它们并不负责（甚至是意识）其它的系统级关注点，例如日志或事务支持。&nbsp;&nbsp;&nbsp;</p><p><br/></p><p style="text-align: center;"><img src="/upload/image/20220718/1658127543372404.png" title="1658127543372404.png" alt="image.png" width="545" height="282" style="width: 545px; height: 282px;"/></p><p><br/></p><p>4、容器——Spring包含并管理应用对象的配置和生命周期，在这个意义上它是一种容器，品牌网站建设,你可以配置你的每个bean如何被创建——基于一个可配置原型（prototype），你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例 &nbsp;&nbsp;&nbsp; ——以及它们是如何相互关联的。然而，Spring不应该被混同于传统的重量级的EJB容器，它们经常是庞大与笨重的， 难以使用。&nbsp;&nbsp;</p><p>&nbsp;</p><p>5、框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中，应用对象被声明式地组合，典型地是在 &nbsp;&nbsp;&nbsp; 一个XML文件里。Spring也提供了很多基础功能（事务管理、持久化框架集成等等），将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。Spring的两大核心AOP与IOC，可以单独用于任何应用，包括与Struts等MVC框架与Hibernate等ORM框架的集成，目前很多公司所谓的轻量级开发就是用Spring + Struts(2)+Hibernate。&nbsp;&nbsp;&nbsp;&nbsp;</p><p>Spring MVC就是一个MVC框架，个人觉得Spring MVC annotation式的开发比Struts2方便，可以直接代替上面的Struts（当然Struts的做为一个非常成熟的MVC，功能上感觉还是比Spring强一点，不过Spring MVC已经足够用了）。当然spring mvc的执行效率比struts高，是因为struts的值栈影响效率。&nbsp;&nbsp;&nbsp;&nbsp;</p><p>spring mvc类似于struts的一个MVC开框架，其实都是属于spring，spring mvc需要有spring的架包作为支撑才能跑起来。</p><p><br/></p><p><strong>二、Spring与Struts2的区别： &nbsp;&nbsp;&nbsp;&nbsp;</strong></p><p>Struts2就是一个拦截器栈 也就是一系列的拦截器。处理用户的请求，OGNL的使用，表单验证 等都是默认的拦截器在起作用。 &nbsp;&nbsp;&nbsp;&nbsp;</p><p>spring的拦截器，主要体现在AOP的事务管理方面，还有比如一些错误或者异常的日志的显示也是通过配置spring的log拦截器来实现的。 &nbsp;</p><p><br/></p><p><strong>三、StringMVC与Struts2的区别：&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp; 1、Struts2是类级别的拦截， 一个类对应一个request上下文，SpringMVC是方法级别的拦截， &nbsp; 一个方法对应一个request上下文，而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现 &nbsp; restful url,而struts2的架构实现起来要费劲，因为Struts2中Action的一个方法可以对应一个url， &nbsp; 而其类属性却被所有方法共享，这也就无法用注解或其他方式标识其所属方法了。</p><p>&nbsp;&nbsp;&nbsp; 2、SpringMVC的方法之间基本上独立的，独享request response数据，请求数据通过参数获取， &nbsp;处理结果通过ModelMap交回给框架，方法之间不共享变量，而Struts2搞的就比较乱，虽然方法之间也是独立的， &nbsp;但其所有Action变量是共享的，这不会影响程序运行，却给我们编码 读程序时带来麻烦， &nbsp;每次来了请求就创建一个Action，一个Action对象对应一个request上下文。</p><p>&nbsp;&nbsp;&nbsp; 3、Struts2需要针对每个request进行封装，把request，session等servlet生命周期的变量封装成一个一个Map， &nbsp;供给每个Action使用，并保证线程安全，所以在原则上，是比较耗费内存的。</p><p><br/></p><p>&nbsp;&nbsp;&nbsp; 4、拦截器实现机制上，Struts2有以自己的interceptor机制，SpringMVC用的是独立的AOP方式， &nbsp;这样导致Struts2的配置文件量还是比SpringMVC大。</p><p>&nbsp;&nbsp;&nbsp; 5、SpringMVC的入口是servlet，而Struts2是filter（这里要指出，filter和servlet是不同的。 &nbsp;以前认为filter是servlet的一种特殊），这就导致了二者的机制不同，这里就牵涉到servlet和filter的区别了。</p><p>&nbsp;&nbsp;&nbsp; 6、SpringMVC集成了Ajax，使用非常方便，只需一个注解@ResponseBody就可以实现，然后直接返回响应文本即可， &nbsp;而Struts2拦截器集成了Ajax，在Action中处理时一般必须安装插件或者自己写代码集成进去， &nbsp;使用起来也相对不方便。</p><p>&nbsp;&nbsp;&nbsp; 7、SpringMVC验证支持JSR303，处理起来相对更加灵活方便，而Struts2验证比较繁琐，感觉太烦乱。</p><p><br/></p><p>&nbsp;&nbsp;&nbsp; 8、SpringMVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高（ &nbsp;当然Struts2也可以通过不同的目录结构和相关配置做到SpringMVC一样的效果，但是需要xml配置的地方不少）。</p><p>&nbsp;&nbsp;&nbsp; 9、设计思想上，Struts2更加符合OOP的编程思想， SpringMVC就比较谨慎，在servlet上扩展。</p><p>&nbsp;&nbsp;&nbsp; 10、SpringMVC开发效率和性能高于Struts2。</p><p>&nbsp;&nbsp;&nbsp; 11、SpringMVC可以认为已经100%零配置</p><p><br/></p><p><strong>1、从安全性角度分析spring mvc和struts2的区别：</strong></p><p><strong>spring mvc:controller</strong></p><p>1.spring mvc 默认controller是单实例（通过注解@Scope(“prototype”)变了多实例）；&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>2.单实例时非线程安全，不要在controller中定义成员变量（实例变量）；&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>3.单实例时，web容器启动时便开始实例化controller，全局唯此实例，每次访问都使用此实例响应；&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>4.多实例时，每一次访问，基本&amp;多数（发现偶尔也会重复使用实例）会产出新实例对应响应；&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>5.单实例时，并发请求，访问synchronized同步方法时，彼此阻塞影响（synchronized方法实例锁）；&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>6.多实例时，并发请求，访问synchronized同步方法时，彼此不影响（synchronized方法实例锁）；</p><p><br/></p><p><strong>struts2:action</strong><br/></p><p>1.struts2为每个线程提供一个action实例,多线程访问时不会出现问题。当使用spring管理struts2的action实例对象时,scope必须配置为prototype或者session;若配置为singleton则多线程访问时会出现问题,例如actionMessage,fieldError等信息会累加,多用户访问时有的用户访问到的是另一个用户的数据。&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>2.scope=“prototype”是为每个请求提供一个action实例(与struts2的机制是一样的)。&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>scope=“session”是为每个会话提供一个action实例。&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>3.通常使用prototype,即让spring容器为每个请求提供一个action实例,好处是服务器端不用维护用户状态信息,否则使用session服务器端必须存储状态信息,用户多时占用服务器端内存过多。使用prototype时,必须自己在客户端维护用户的状态,每次访问服务端时将相应状态信息提交给服务器。&nbsp;<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>例如scope=“prototype”时,页面一般&lt; input name=&quot;id&quot; type=&quot;hidden&quot; value=&quot;${id}&quot;/&gt;用来存储用户的id信息,访问action时提交到server端供action中函数使用。而使用scope=“session”时,页面不必使用hidden的对象隐藏id信息,只要服务端获取过用户的id,action中的id属性即会保存这个信息。</p><h2></h2><h2><span style="font-size: 16px;">2、从整体上分析springmvc和struts2的区别&nbsp;</span><br/></h2><p>1、springmvc基于方法开发的，struts2基于类开发的。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>springmvc将url和controller方法映射。映射成功后springmvc生成一个Handler对象，对象中只包括了一个method。方法执行结束，形参数据销毁。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>struts2的action类中的所有方法用的都是action类中的成员变量，一旦方法变得很多的时候，我们就会不知道action类中那么多成员变量是给那个方法去使用的。十分混乱。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>但是springmvc的所有参数都是定义为方法的形参，这样使用什么方法就将参数注入至对应方法的形参，所以springmvc的controller开发类似service开发。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>2、springmvc可以进行单例开发，并且建议使用单例开发，struts2通过类的成员变量接收参数，无法使用单例，只能使用多例。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>3、经过实际测试，struts2速度慢，在于使用struts标签，如果使用struts建议使用jstl。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>　　最后我们无法实际定义springmvc与struts到底谁好谁坏，只能说struts早期由于用的比较多，它的漏洞就比较多。建议如果使用struts，就使用最新的包，因为以前的可能会有漏洞。但springmv目前几乎没有漏洞，这就是springmvc最近几年开始流行起来的原因，再有一个springmvc是基于方法开发的，更接近于service开发。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/><br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/><br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/><strong>springmvc总结</strong><br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>springmvc框架：<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>DispatcherServlet前端控制器：接收request，进行response<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>HandlerMapping处理器映射器：根据url查找Handler。（可以通过xml配置方式，注解方式）<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>HandlerAdapter处理器适配器：根据特定规则去执行Handler，编写Handler时需要按照HandlerAdapter的要求去编写。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>Handler处理器（后端控制器）：需要程序员去编写，常用注解开发方式。<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>Handler处理器执行后结果 是ModelAndView，具体开发时Handler返回方法值类型包括 ：ModelAndView、String（逻辑视图名）、void（通过在Handler形参中添加request和response，类似原始 servlet开发方式，注意：可以通过指定response响应的结果类型实现json数据输出）<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>View resolver视图解析器：根据逻辑视图名生成真正的视图（在springmvc中使用View对象表示）<br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>View视图:jsp页面，仅是数据展示，没有业务逻辑。</p><p><br/></p><p><strong>springmvc和struts2区别：</strong><br style="box-sizing: border-box; outline: 0px; overflow-wrap: break-word;"/>springmvc面向方法开发的（更接近service接口的开发方式），struts2面向类开发。</p><p>springmvc可以单例开发，struts2只能是多例开发。</p><p><br/></p>                                </div>
                            </div>
                                                        <div class="xwxq-bot bgf1 wow slideUp">
                                <div class="xwxq-fy clear">
                                    <a class="fl" href="/article/1120.html"><i></i>嵌入式基础——硬件和软件断点</a>
                                    <a class="fr" href="/article/1118.html"><i></i>Java中的Hash简介</a>
                                </div>
                                <a class="fhlb" href="#"></a>
                            </div>
                        </div>
                        <div class="fr xwxq-r">
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title mg-bt30">
                                        <h3>最新案例</h3><span>LATEST CASES</span>
                                    </div>
                                    <div class="zxal">
                                        <div class="swiper-container">
                                            <div class="swiper-wrapper">
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/409.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214103120.jpg" alt="广州呼吸研究院"/></div>
                                                            <p>广州呼吸研究院</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/433.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102846.jpg" alt="融创集团"/></div>
                                                            <p>融创集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/268.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102923.jpg" alt="粤海集团"/></div>
                                                            <p>粤海集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/414.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211216/20211216115258.jpg" alt="恒大足球学校"/></div>
                                                            <p>恒大足球学校</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/477.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102958.jpg" alt="侨鑫集团"/></div>
                                                            <p>侨鑫集团</p>
                                                        </a>
                                                    </div>
                                                                                                </div>
                                        </div>
                                        <div class="zxalDot text-center swiperDot"></div>
                                    </div>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>热点新闻</h3><span>TOP NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/3559.html">1  java heap space(解决方法)</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1222.html">2  如何在网站后台上传附件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1643.html">3  如何在网站后台上传PDF文件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1142.html">4  什么是流？</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/3543.html">5  java swing还有人用吗(swing为什么会被淘汰)</a></li>
                                                                            </ul>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>最新动态</h3><span>NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/7318.html">1  商务网站的维护与更新：持续优化，保持竞争力</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7317.html">2  商务网站的社交媒体营销：扩大品牌影响力，吸引更多潜在客户</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7316.html">3  商务网站的广告投放：增加收益，提高知名度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7315.html">4  商务网站的在线客户服务：提供优质客服，提升用户满意度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7314.html">5  商务网站的支付系统集成：安全、便捷的交易方式</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7313.html">6  商务网站搜索引擎优化（SEO）：提升排名，增加流量</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7312.html">7  商务网站响应式设计：实现多设备兼容，提升用户体验</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7311.html">8  商务网站开发：选择合适的编程语言和技术栈</a></li>
                                                                            </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="footerbox">
	<div class="footer">
		<div class="w1700">
			<ul>
				<li>
					<span class="fttitle">思洋 · 广州总部</span>
					<div>
						<p>广州天河区珠江新城富力盈力大厦北塔2706</p>
						<p>020-38013166（网站咨询专线）</p>
					</div>
					<p>400-001-5281 （售后服务热线）</p>
				</li>
				<li>
					<span class="fttitle">思洋 · 深圳</span>
					<div>
						<p>深圳市坂田十二橡树庄园F1-7栋</p>
						<p>Site/ http://www.szciya.com </p>
						<p>E-mail/ itciya@vip.163.com</p>
					</div>
					<p>品牌服务专线：400-001-5281 </p>
				</li>
				<li>
					<span class="fttitle">思洋 · 湖南</span>
					<div>
						<p>长沙市天心区芙蓉中路三段398号新时空大厦5楼</p>
						<p>联系电话/ (+86 0731)88282200</p>
					</div>
					<p>品牌服务专线/ 400-966-8830</p>
				</li>
				<li class="lastli">
					<p class="mt10">旗下运营网站：</p>
					<div class="mt10">
						<img src="/images/ftlogo2.png">
						<img src="/images/gogo.png">
						<img src="/images/ftlogo3.png">
						<img src="/images/ftlogo4.png">
						<img src="/images/ftlogo11.png">
					</div>
				</li>
			</ul>
		</div>
	</div>
	<div class="ft_bottom">
		<div class="w1700">
			<p class="cop">Copyright © 2016 广州思洋文化传播有限公司，保留所有权利。 <a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备09033321号</a>
			</p>
		</div>
	</div>
</div>
<div class="le-box active">
	<div class="t show780">
		<a href="tel:13570966600">
			<img src="/images/ml9-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml9-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
	<div class="t">
		<img src="/images/ml1-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml1-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qr.jpg" alt="与项目经理交流">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<div class="t">
		<img src="/images/ml2-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml2-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qq001.jpg" alt="">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<!--<div class="t">-->
		<!--<a href="http://wpa.qq.com/msgrd?v=3&amp;uin=1607245872&amp;site=ciya.cn&amp;menu=yes" target="_blank">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="sow i">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="iove i">-->
		<!--</a>-->
	<!--</div>-->
	<div class="t hide780">
		<a href="https://affim.baidu.com/unique_510425/chat?siteId=19536215&userId=510425&siteToken=8914d517c927d8e794148d05e387fb17" target="_blank">
			<img src="/images/ml3-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml3-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
</div>
<script>
	$(window).scroll(function(){
//		if($(window).scrollTop()>200){
//			$(".le-box").addClass("active");
//		}else{
//			$(".le-box").removeClass("active");
//		}
	})
</script>
<div class="wap_fx">
	<a href="tel:13570966600" class="phone"></a>
	<a href="mqqwpa://im/chat?chat_type=wpa&uin=1607245872&version=1&src_type=web&web_src=ciya.cn" target="_blank" class="qq"></a>
	<a href="javascript:;" class="wx2"></a>
	<a class="kef986" style="background:rgba(0,0,0,.6) url(/images/ml3-1.png?v=1) no-repeat center;background-size: cover;border-radius: 4px;" href="https://p.qiao.baidu.com/cps/chat?siteId=18513940&userId=510425&siteToken=e5e1bde478969b43bf99b7703a694c0b" target="_blank"></a>
</div>
<div class="wap-wxcode">
	<div class="middle-box">
		<div class="middle-inner">
			<div class="wap-wxcode-con">
				<img src="/images/ff_ewm.jpg" alt=""/>
				<div class="wap-wxcode-bot"><span class="wxname">ciya68</span><button class="copy-btn" data-clipboard-text="ciya68">点击复制</button></div>
				<div class="gb1002"></div>
			</div>
		</div>
	</div>
</div>
<input id="hide" type="hidden">
<script src="/js/clipboard.min.js"></script>
<script>
	$(function(){
		$(".wx2").click(function(){
			$(".wap-wxcode").show();
		});
		$(".gb1002").click(function(){
			$(".wap-wxcode").hide();
		});
		var copyBtn=new ClipboardJS('.copy-btn');
		copyBtn.on("success",function(e){
			// 复制成功
			// alert(e.text);
			showMessage('已成功复制微信号','success',2000)
			e.clearSelection();
		});
		copyBtn.on("error",function(e){
			//复制失败；
			showMessage('复制微信号失败','error',2000)
			console.log( e.action )
		});
		function showMessage(message,type,time) {
			let str = ''
			switch (type) {
				case 'success':
					str = '<div class="success-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color:#fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
					break;
				case 'error':
					str = '<div class="error-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color: #fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
			}
			$('body').append(str)
			setTimeout(function () {
				$('.'+type+'-message').remove()
			},time)
		}


		var ua = navigator.userAgent.toLowerCase();
		var isWeixin = ua.indexOf('micromessenger')!= -1;
		if(isWeixin){
			$(".kef986").hide();
		}

	})
</script>
            </div>
        </div>
		<script type="text/javascript" src="/js/trunk.js?v=2"></script>
        <script>
            var zxal=null;
            var len=$(".zxal .swiper-slide").length;
            if(len>1){
                zxal = new Swiper('.zxal .swiper-container',{
                    speed:600,
                    loop:true,
                    autoplay : 5000,
                    autoplayDisableOnInteraction : false,
                    pagination : '.zxalDot',
                    paginationClickable :true,
                })
            }else{
                $(".zxalDot").hide();
            }
        </script>
	</body>
</html>

