- 讨论视频系统架构
Robin-LV
MVCJDBC
今天接到一个业务,领导让我搭建一个视频系统架构。架构采用MVC的模式这个大家都知道,技术采用Sping,hibernate3,数据层采用Sping提供的的jdbc模板。我知道要提供一些公共的的类和接口。还有一些封装好的方法。这个架构要考虑现在老系统的数据,等新系统完成要把数据导过去,还要考虑多平台融合的问题。由于我们公司有多套系统,领导想做底层统一以后好管理。现在晕晕的,请高手谈谈如何搭建一个好的
- java 持久化
老螺丝
java-eejava-eejpa
名词大作战什么是JPAJPA(JavaPersistenceAPI)中文名Java持久层API,JPA通过注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPAORM规范出于两个原因:其一,简化现有JavaEE和JavaSE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。Hibernate3.2+、TopLink10.1.3以及OpenJPA
- 代码生成器自动生成实体类,Mapper接口和Mapper xml代码
beiback
JavaSpringjava
目录1.MyBatisPlus2.JPA/Hibernate3.IntelliJIDEAMyBatis插件4.其他代码生成工具5.总结在Java开发中,除了使用MyBatisGenerator自动生成实体类、Mapper接口和MapperXML代码之外,还有一些其他工具和插件可以帮助开发者以更简单快捷的方式完成这些任务。下面是一些常见的替代方案:1.MyBatisPlusMyBatisPlus是一
- hibernate4与3使用annotation在配置文件中的区别
千奇百怪的漫长旅行
java
让hibernate4与3在配置文件中的区别有几点:1、获取sessionfactory的方式:在hibernate3中获取sessionfactory的方式:在hibernate4中则是使用这种方式:2、事物的使用:hibernate3:hibernate4:3、使用缓存机制:hibernate3:threadhibernate4:org.springframework.orm.hibernat
- 记录一次hibernate3.1 方言问题
沉醉东风0001
oracle数据库
错误:com.sun.proxy.$Proxy553cannotbecasttojava.lang.string我们项目上,将mysql数据库迁移到达梦数据库,这样会造成数据库类型上在java查询下,会有不兼容的问题,比如clob,text等,可能都有问题,这就需要用方言去解决了。之前text就出现了报错,找了半天也没能解决,后来改成了varchar(8000),虽然改了不报错了,感觉可能会有隐患
- 基于SSH三大框架的员工管理系统
magi617
sshjava
基于SSH三大框架的员工管理系统摘要本系统为本人学习SSH三大框架时所做的整合实例,系统角色包括普通用户和管理员两种,首页有管理员登录入口链接。系统功能主要包括管理员对用户的基本增、删、改、查和分页显示用户信息等。系统环境本系统使用eclipse+mysql+jdk1.8+tomcat8进行开发框架使用struts2+hibernate3+spring3页面展示首页一开始没考虑屏幕分辨率和比例问题
- Linux 学习 笔记
song969songgxh
LinuxEclipse配置管理应用服务器vim
2月23日Linux1Linux2Hibernate3Spring4设计模式3--4周时间学完复习,项目Linux:RHCE课程体系RedHat论证的工程师--特点:基于实践系统,网络,安全60小时+1--2小时的练习--通过RHCT--RHCE--RHCARHCH基础1什么是OS(操作系统):1.1Application1.2SystemCalls(API)1.3Kernel(内核)1.4硬件(
- 添加配置解决Could not locate ordinal parameter [0], expecting one of [1]
码的
javahibernate
项目hibernate3.2.16升级hibernate5.5.7时,HQL语句使用"?"参数占位符运行报错,国内查到的都是这样改(基本都是改HQL语句参数,使用起来也没问题):第一种Stringhql="fromUserFormwheresex=?";//定义查询HQL语句Queryquery=session.createQuery(hql);//执行查询语句,获取Query对象query.se
- java项目源码分享网_分享二十套Java项目源码
下大垅
java项目源码分享网
分享二十套Java项目源码资源目录:1、BBS论坛系统(jsp+sql)2、ERP管理系统(jsp+servlet)3、OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)4、博客系统(struts+hibernate+spring)5、车辆管理系统(struts+hibernate+spring+oracle)6、家庭理财系统(java+applet)7
- ssh简单入门级案例教程
会做饭的技术男
前端javaweb学习之路ssh整合案例
准备工作:struts2.3.34spring4.2.2hibernate3.3.2导入需要的开发包:struts开发包---注意:javassist-3.18.1-GA.jar包与hibernate中的重复(只保留高版本即可)hibernate开发包此外还需要在hibernate解压包中找到lib/optional/c3p0文件夹,然后将c3p0-0.9.2.1.jar和mchange-comm
- JPA 配置装载
pingdan168
JPAHibernateSpringStrutsMySQL
在你开始加包的时候无比要仔细阅读上面的矩阵,hiberantecore3.3和有的包是不兼容的!昨天试了spring2.0+hibernatecore3.3+struts2..0.9没有成功,今天调试成功的版本为struts2.0.9+spring2.0+hibernate3.2.1+tomcat5.5.17+eclipse3.2wtpallinone本指南演示了如何在Eclipse中配置Stru
- SpringMVC框架搭建及详解
ProfeSir
Web开发Web框架JavaSpringMVC
现在主流的WebMVC框架除了Struts这个主力外,其次就是SpringMVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用SpringMVC来应对大多数的Web开发,就必须要掌握它的配置及原理。一、SpringMVC环境搭建:(Spring2.5.6+Hibernate3.2.0)1.jar包引入Spring2.5
- mavn打包时如何把外部依赖加进去?
tebukaopu148
maven
一、添加依赖:com.dmDmJdbcDriver18system${project.basedir}/lib/DmJdbcDriver18.jarcom.dmDmDialect-for-hibernate3.0system${project.basedir}/lib/DmDialect-for-hibernate3.0.jar二、添加maven配置//SpringBoot插件org.spring
- @Transactional未添加就报错:No Hibernate Session bound to thread, and configuration does not allow creation
恬毅
java技术学习ssh之旅工作笔记hibernatethreadsession单元测试
我的事务是通过hibernateFilterorg.springframework.orm.hibernate3.support.OpenSessionInViewFilterhibernateFilter*.do我给加上就行了,不过这种情况对于单元测试可能就有问题了
- ssh(Spring+Struts+Hibernate)开发框架实现图书在线推荐系统newbookscfrs 基于用户、项目的协同过滤推荐算法
74b3a3e489d4
ssh(Spring+Struts+Hibernate)开发框架实现图书在线推荐系统newbookscfrs一、项目简介1、首页:http://localhost:8080/newbookscfrs/2、项目采用ssh框架(spring3.0,struts2.1,hibernate3.3),并使用html5、javascript、qjuery、layer、webuploader、bootstrap
- @Transient 不起作用!
laryad
原因:Hibernate3-@Transient必须写在get部分上面package.........;import.........@Entity@Table(name="PMS_PROD_BILL")publicclassBillimplementsSerializable{//联合主键时,必须继承Serializable,自动生产serialVersionUID【固定写法】privatest
- HIbernate的hibernateTemplate.findByCriteria用法
b7410852963
HIbernatemvchibernate
packagecom.dao.impl;importjava.util.List;importjavax.annotation.Resource;importorg.hibernate.criterion.DetachedCriteria;importorg.springframework.orm.hibernate3.HibernateTemplate;importorg.springframe
- 详解Spring中涉及的技术
Mr.VK
SpringBootSpring后端springjava后端
注解介绍:注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器、开发工具和其他程序可以通
- ssh最新整合配置(struts2.2.1+ hibernate3.6+spring3.0.5)
hwq_1987
strutsspringhibernatesshmyeclipse数据库连接池
ssh整合配置(struts2.2.1+hibernate3.6+spring3.0.5)博客分类:webJavaSpringHibernateSSHAOP今天给大家介绍一下最新版本的SSH(struts2.2.1+hibernate3.6+spring3.0.5)组合。注意本讲解为手工搭建!一、为SSH做好准备struts2-2.2.1-all.ziphibernate-distribution
- JAVA程序员不可不留意的编码规范
Java_苏先生
最近经常看一些朋友写的源代码,总是感觉编码规范题目还没有成为大家的关注点,导致代码的通用可读性相对比较差;所以在此唠叨几句编码规范(以struts2+spring2+hibernate3架构的项目为例),大家各取所需,欢迎拍砖!一、规范存在的意义应用编码规范对于软件本身和软件开发职员而言尤为重要,有以下几个原因:好的编码规范可以尽可能的减少一个软件的维护本钱,并且几乎没有任何一个软件,在其整个生命
- SSH配置(Struts2.2.1+Hibernate3.6+Spring3.0.5)
廖俊才
SSH框架应用SSHStrutsHibernateSpring
今天给大家介绍一下最新版本的SSH(struts2.2.1+hibernate3.6+spring3.0.5)组合。注意本讲解为手工搭建!一、为SSH做好准备struts2-2.2.1-all.ziphibernate-distribution-3.6.0.Final-dist.zipspring-framework-3.0.5.RELEASE.zipspring-framework-2.5.6-
- JavaWeb概述
逐梦苍穹
JavaWebservletjava开发语言web
目录1、简介2、技术栈3、各技术栈说明3.1、JavaServlet3.2、JavaServerPages(JSP)3.3、JavaServerFaces(JSF)3.4、JavaPersistenceAPI(JPA)3.5、Hibernate3.6、Spring3.7、Struts3.8、ApacheMaven3.9、ApacheTomcat1、简介JavaWeb是一种使用Java语言开发Web
- Spring 事务
请叫我王老魔
Springspring事务
Spring事务spring针对不同的dao层框架,提供接口不同的实现类,常用的有两个事务管理器使用场景jdbc.datasource.datasourceTransactionManager用于Spring对于JDBC的抽象的支持,也可以适用于mybatis进行持久化的场景orm.hibernate3.HibernateTransactionManager用于hibernate3进行持久化一、事
- 源代码解读Spring只读事务与读写事务的性能的差别
miaoao611
springspring
前言:如果大家使用过Spring事务管理,会发现Spring提供的事务分为“只读”和“读写”事务两类。这不免就会疑问这两种事务会有什么不同?本文则通过对Spring和Hibernate源代码的剖析来找出这两种事务的区别。特别是运行性能方面的区别。解读的源代码版本为Spring2.5.6.SEC01,Hibernate3.3.2.GA。Spring对事务的支持也分编程式和声明式,本文以基于Annot
- Hibernate3.1.1+Struts2.0+Spring3.0+ibatis
一眼万年的星空
零零碎碎整理了Hibernate+Struts+Spring+ibatis希望对大家有用Hibernate总结xmlhibernate的annotation需要的jar包:hibernate-annotation.jarejb3-persistence.jarhibernate-commons-annotaion.jar一对一双向外键关联Annotaion:@oneTone@JoinColumnh
- 数据库连接池C3P0学习
潍一
数据库数据库连接池c3p0
c3p0连接池的优势 DBCP的bug非常多,在某些种情况会产生很多空连接不能释放。因此Hibernate3已经不再支持DBCP连接池,而推荐使用C3PO。C3P0是Hibernate3.0默认的自带数据库连接池,DBCP是Apache开发的数据库连接池。我们对这两种连接池进行压力测试对比,发现在并发300个用户以下时,DBCP比C3P0平均时间快1秒左右。但在并发400个用户时,两者差不多。速度
- Java Web 三层架构详解
吾枫
eclipseweb开发web框架三层结构
java三层架构ssh一个spring2.5+hibernate3.2+struts2.0组合框架,使用spring的IoC来管理应用的所有bean,包括struts2的action,充分发挥了spring轻量级框架的优势。摘要:针对当前Web应用程序开发面临的问题,结合目前比较流行的开源框架Spring、Struts和Hibernate,提出了一种开发J2EEWeb应用的轻量级解决方案,以帮助开
- [Hibernate]如何针对查询缓存失效的情况,仍同步使缓存数据跟数据库数据保持一致?...
FrozenSorrow
HibernateSQLCacheCC++
如标题所说这个问题该如何解决呢?或者存在比较好的方案使数据增删改后使缓存和跟数据库数据保持一致?还有个问题如果针对不是基于主键为条件的查询(loadget)是否就一定无法使用二级缓存?还有网上有种说法:说get无法使用二级缓存这个应该是错误的吧至少应该Hibernate3.0.5是可以的
- 孙卫琴的《精通JPA与Hibernate》读书笔记:对象-关系的映射概念
编程小李飞刀
JPA与Hibernate会通过各种各样的映射注解来建立对象对数据库中记录的映射。以前Hibernate3以下的版本流行用XML格式的映射文件来建立映射,现在这个方式不那么流行了。更为普遍的是用注解进行映射。以下是用JPA映射注解对Customer类与CUSTOMERS表进行映射。@Entity@Table(name="CUSTOMERS")//Customer类和CUSTOMERS表映射publ
- spring3与hibernate4的整合
TonySong111073
java
首先,spring与hibernate3整合时有三种方式:1、直接使用SessionFactory(该SessionFactory由spring管理并注入)的方式:@ResourcepublicvoidsetSessionFactory(SessionFactorysessionFactory){this.sessionFactory=sessionFactory;}protectedSessio
- 继之前的线程循环加到窗口中运行
3213213333332132
javathreadJFrameJPanel
之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。
package thread;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util
- linux 常用命令
BlueSkator
linux命令
1.grep
相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。
但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n '100,200p' 文件名),去查出该关键字之后的日志内容。
但其实还有更简便的办法,就是用(grep -B n、-A n、-C n 关键
- php heredoc原文档和nowdoc语法
dcj3sjt126com
PHPheredocnowdoc
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
<?
- overflow的属性
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- 《我所了解的Java》——总体目录
g21121
java
准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。
在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。
&n
- [简单]docx4j常用方法小结
53873039oycg
docx
本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:
import java.io.File;
import java.io.FileInputStream;
import ja
- Spring配置学习
云端月影
spring配置
首先来看一个标准的Spring配置文件 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=&q
- Java新手入门的30个基本概念三
aijuans
java新手java 入门
17.Java中的每一个类都是从Object类扩展而来的。 18.object类中的equal和toString方法。 equal用于测试一个对象是否同另一个对象相等。 toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法) 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。
- 《2008 IBM Rational 软件开发高峰论坛会议》小记
antonyup_2006
软件测试敏捷开发项目管理IBM活动
我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵!
其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下.
参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.
- PL/SQL的过程编程,异常,声明变量,PL/SQL块
百合不是茶
PL/SQL的过程编程异常PL/SQL块声明变量
PL/SQL;
过程;
符号;
变量;
PL/SQL块;
输出;
异常;
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作
- Mockito(三)--完整功能介绍
bijian1013
持续集成mockito单元测试
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。
一.使用mockito验证行为
//首先要import Mockito
import static org.mockito.Mockito.*;
//mo
- 精通Oracle10编程SQL(8)使用复合数据类型
bijian1013
oracle数据库plsql
/*
*使用复合数据类型
*/
--PL/SQL记录
--定义PL/SQL记录
--自定义PL/SQL记录
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE,
salary emp.sal%TYPE,
dno emp.deptno%TYPE
);
emp_
- 【Linux常用命令一】grep命令
bit1129
Linux常用命令
grep命令格式
grep [option] pattern [file-list]
grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。
pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特
- mybatis3入门学习笔记
白糖_
sqlibatisqqjdbc配置管理
MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。
以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。
- Linux 命令神器:lsof 入门
ronin47
lsof
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多
- java实现两个大数相加,可能存在溢出。
bylijinnan
java实现
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BigIntegerAddition {
/**
* 题目:java实现两个大数相加,可能存在溢出。
* 如123456789 + 987654321
- Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法
Kai_Ge
Kettle
Kettle学习资料分享
Kettle 3.2 使用说明书
目录
概述..........................................................................................................................................7
1.Kettle 资源库管
- [货币与金融]钢之炼金术士
comsci
金融
自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的
那么随着人类在理论物理和工程物理上面取得的一些突破性进展......
炼金术这个古老
- Toast原来也可以多样化
dai_lm
androidtoast
Style 1: 默认
Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT);
def.show();
Style 2: 顶部显示
Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT);
t
- java数据计算的几种解决方法3
datamachine
javahadoopibatisr-languer
4、iBatis
简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。
复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据
- 向网页中插入透明Flash的方法和技巧
dcj3sjt126com
htmlWebFlash
将
Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。
一、Swf透明、无坐标控制 首先教大家最简单的插入Flash的代码,透明,无坐标控制: 注意wmode="transparent"是控制Flash是否透明
- ios UICollectionView的使用
dcj3sjt126com
UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。
个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。
1.UIViewController实现委托,代码如
- Eos平台java公共逻辑
蕃薯耀
Eos平台java公共逻辑Eos平台java公共逻辑
Eos平台java公共逻辑
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:20:4
- SpringMVC4零配置--Web上下文配置【MvcConfig】
hanqunfeng
springmvc4
与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。
applicationContext-MvcConfig.xml
<!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller -->
<
- 解决ie和其他浏览器poi下载excel文件名乱码
jackyrong
Excel
使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: pro
- 挥洒泪水的青春
lampcy
编程生活程序员
2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连!
这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到
- 稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制
nannan408
对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?
笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。
我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在
- 动态设置iframe高度(iframe高度自适应)
Rainbow702
JavaScriptiframecontentDocument高度自适应局部刷新
如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。
但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。
对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构:
<div id="content">
<div id=&quo
- 用Rapael做图表
tntxia
rap
function drawReport(paper,attr,data){
var width = attr.width;
var height = attr.height;
var max = 0;
&nbs
- HTML5 bootstrap2网页兼容(支持IE10以下)
xiaoluode
html5bootstrap
<!DOCTYPE html>
<html>
<head lang="zh-CN">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">