当前位置: 首页 > news >正文

东莞厚街做网站wordpress 手赚主题

东莞厚街做网站,wordpress 手赚主题,wap网站定位,注册公司一般多少费用目录 ssm框架整合 第一步#xff1a;指定打包方式和导入所需要的依赖 打包方法#xff1a;war springMVC所需依赖 解析json依赖 mybatis依赖 数据库驱动依赖 druid数据源依赖 junit依赖 第二步#xff1a;导入tomcat插件 第三步#xff1a;编写配置类 SpringCon…目录 ssm框架整合 第一步指定打包方式和导入所需要的依赖 打包方法war springMVC所需依赖 解析json依赖 mybatis依赖 数据库驱动依赖 druid数据源依赖 junit依赖 第二步导入tomcat插件 第三步编写配置类 SpringConfig配置类 JdbcConfig配置类 MybatisConfig配置类 SpringMvcConfig配置类 ServletContainerInitConfig配置类 注意点 第四步准备数据库并写对应的pojo类型 第五步编写dao层 第六步编写service层 第七步编写controller层 第八步封装数据 响应码类 封装结果类 修改后的Controller 报错这里我使用postman测试时报错 No converter for [class com.hhh.pojo.vo.Result] with preset Content-Type null 异常处理器 业务异常 系统异常 异常处理器 拦截器  如何定义拦截器 1.定义一个拦截器类并实现HandlerInterceptor 2.配置加载拦截器 3.让SpringMVC加载此配置类 拦截器链 ssm框架整合 先自己创建Maven工程 第一步指定打包方式和导入所需要的依赖 打包方法war groupIdcom.hhh/groupIdartifactIdspring_day7_ssm2/artifactIdversion1.0-SNAPSHOT/version !-- 使用war方式进行打包--packagingwar/packaging springMVC所需依赖 !-- springMVC依赖--dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.10.RELEASE/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency 解析json依赖 !-- json解析--dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.0/version/dependency mybatis依赖 !-- mybatis依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.5/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.10.RELEASE/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.1.0/version/dependency 数据库驱动依赖 !-- 数据库驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.13/version/dependency druid数据源依赖 !-- druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.16/version/dependency junit依赖 !-- junit--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion5.2.10.RELEASE/version/dependency 第二步导入tomcat插件 buildpluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.1/versionconfiguration!-- 指定端口 --port8080/port!-- 请求路径 --path//pathuriEncodingutf-8/uriEncoding!-- lt;!ndash;这个名称需要在maven插件中显示应用名称ndash;gt;--!-- servertomcat7/server--/configuration/plugin/plugins/build   完整的pom.xml文件如下 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.hhh/groupIdartifactIdspring_day7_ssm2/artifactIdversion1.0-SNAPSHOT/version !-- 使用war方式进行打包--packagingwar/packagingpropertiesmaven.compiler.source21/maven.compiler.sourcemaven.compiler.target21/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies !-- springMVC依赖--dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.10.RELEASE/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency !-- json解析--dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.0/version/dependency !-- mybatis依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.5/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.10.RELEASE/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.1.0/version/dependency !-- 数据库驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.13/version/dependency !-- druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.16/version/dependency !-- junit--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion5.2.10.RELEASE/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.1/versionconfiguration!-- 指定端口 --port8080/port!-- 请求路径 --path//pathuriEncodingutf-8/uriEncoding!-- lt;!ndash;这个名称需要在maven插件中显示应用名称ndash;gt;--!-- servertomcat7/server--/configuration/plugin/plugins/build/project 第三步编写配置类 SpringConfig配置类 Configuration ComponentScan({com.hhh.dao,com.hhh.service}) PropertySource(classpath:jdbc.properties)//导入外部文件 Import({JdbcConfig.class, MybatisConfig.class})//加载外部配置类 EnableTransactionManagement//开启事务功能 public class SpringConfig { }JdbcConfig配置类 //管理第三方技术 这个类写数据源和事务处理器 public class JdbcConfig {Value(${jdbc.driver})private String driver;Value(${jdbc.url})private String url;Value(${jdbc.username})private String name;Value(${jdbc.password})private String password;Beanpublic DataSource dataSource(){DruidDataSource druidDataSource new DruidDataSource();druidDataSource.setDriverClassName(driver);druidDataSource.setUrl(url);druidDataSource.setUsername(name);druidDataSource.setPassword(password);return druidDataSource;}Beanpublic PlatformTransactionManager manager(DataSource dataSource){//spring会根据类型自动注入相同类型的beanDataSourceTransactionManager dataSourceTransactionManager new DataSourceTransactionManager();dataSourceTransactionManager.setDataSource(dataSource);return dataSourceTransactionManager;} } MybatisConfig配置类 public class MybatisConfig {Beanpublic SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){SqlSessionFactoryBean sqlSessionFactoryBean new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSource);sqlSessionFactoryBean.setTypeAliasesPackage(com.hhh.pojo);//设置pojo类别名return sqlSessionFactoryBean;}Beanpublic MapperScannerConfigurer mapperScannerConfigurer(){MapperScannerConfigurer mapperScannerConfigurer new MapperScannerConfigurer();mapperScannerConfigurer.setBasePackage(com.hhh.dao);//扫描dao层并帮dao层的接口类创建代理对象beanreturn mapperScannerConfigurer;} } SpringMvcConfig配置类 Configuration ComponentScan(com.hhh.controller) EnableWebMvc//开启辅助功能 public class SpringMvcConfig { }ServletContainerInitConfig配置类 public class ServletContainerInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {//加载spring核心配置类Overrideprotected Class?[] getRootConfigClasses() {return new Class[]{SpringConfig.class};}//加载springMVC核心配置类Overrideprotected Class?[] getServletConfigClasses() {return new Class[]{SpringMvcConfig.class};}//设置哪些请求路径交给springMVC管理Overrideprotected String[] getServletMappings() {return new String[]{/};}//设置post中文请求乱码Overrideprotected Filter[] getServletFilters() {CharacterEncodingFilter characterEncodingFilter new CharacterEncodingFilter();characterEncodingFilter.setEncoding(utf-8);return new Filter[]{characterEncodingFilter};} }注意点 SpringMvc核心配置类和Spring配置类不能互相扫描假如Import({JdbcConfig.class, MybatisConfig.class})多了com.hhh.config,就会报错 Failed to instantiate [org.springframework.web.servlet.HandlerMapping]: Factory method resourceHandlerMapping threw exception; nested exception is java.lang.IllegalStateException: No ServletContext set 编写完配置类之后我们先启动项目看看会不会出错 注意启动之前现在main目录下创建一个webapp目录 没有问题 第四步准备数据库并写对应的pojo类型 public class Book {private Integer id;private String name;private String description;private Integer score;Overridepublic String toString() {return Book{ id id , name name \ , description description \ , score score };}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getDescription() {return description;}public void setDescription(String description) {this.description description;}public Integer getScore() {return score;}public void setScore(Integer score) {this.score score;}}第五步编写dao层 由于修改操作需要id和Book类对象所以重新写一个pojo类 public class UpdateBook {Integer id;Book book;Overridepublic String toString() {return UpdateBook{ id id , book book };}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public Book getBook() {return book;}public void setBook(Book book) {this.book book;} }//这里不用写Repository注解因为MybatisConfig会扫描这一个包下的所有接口类并创建代理对象 public interface BookDao {//新增操作Insert(insert into book(name, description, score) VALUE (#{name},#{description},#{score});)Options(useGeneratedKeys true,keyColumn id,keyProperty id)//设置主键回填Integer save(Book book);//查询全部Select(select * from book;)ListBook getAll();//查询某一个Select(select * from book where id#{id};)Book getById(Integer id);//删除Delete(delete from book where id#{id};)Integer deleteById(Integer id);//修改/*Update(update book set name#{book.name},description#{book.description},score#{book.score} where id#{id};)Integer updateById(Param(id) Integer id, Param(book) Book book);*/Update(update book set name#{book.name},description#{book.description},score#{book.score} where id#{id};)Integer updateById(UpdateBook u); }第六步编写service层 BookService接口 Transactional//开启事务管理 public interface BookService {//新增操作Boolean save(Book book);//查询全部ListBook getAll();//查询某一个Book getById(Integer id);//删除Boolean deleteById(Integer id);//修改Boolean updateById(UpdateBook updateBook); }BookServiceImpl实现类 Service public class BookServiceImpl implements BookService {Autowiredprivate BookDao bookDao;Overridepublic Boolean save(Book book) {return bookDao.save(book)0;//大于0为真}Overridepublic ListBook getAll() {return bookDao.getAll();}Overridepublic Book getById(Integer id) {return bookDao.getById(id);}Overridepublic Boolean deleteById(Integer id) {return bookDao.deleteById(id)0;}Overridepublic Boolean updateById(UpdateBook updateBook) {return bookDao.updateById(updateBook)0;} }测试一下 RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(classes SpringConfig.class)//加载spring核心配置类 public class BookServiceTest {Autowiredprivate BookService bookService;Testpublic void testGetAll(){ListBook list bookService.getAll();System.out.println(list);}Testpublic void testGetById(){Book book bookService.getById(2);System.out.println(book);}Testpublic void testSave(){Book book new Book();book.setName(hh);book.setDescription(aa);book.setScore(90);Boolean aBoolean bookService.save(book);System.out.println(aBoolean);//trueSystem.out.println(idbook.getId());//11}Testpublic void testUpdate(){Book book new Book();book.setName(hhh);book.setDescription(aaa);book.setScore(70);UpdateBook updateBook new UpdateBook();updateBook.setBook(book);updateBook.setId(9);Boolean b bookService.updateById(updateBook);System.out.println(b);}Testpublic void testDelete(){Boolean b bookService.deleteById(11);System.out.println(b);} }全部正确 第七步编写controller层 /*ResponseBody Controller*/ RestController RequestMapping(value /books,produces text/html;charsetutf-8) public class BookController {Autowiredprivate BookService bookService;PostMappingpublic String save(RequestBody Book book){//解析json对象Boolean b bookService.save(book);return b?保存成功:保存失败;//return 保存成功;}GetMappingpublic ListBookgetAll(){return bookService.getAll();}GetMapping(/{id})public Book getById(PathVariable Integer id){//从路径中获取值return bookService.getById(id);}PutMappingpublic String update(RequestBody UpdateBook book){Boolean b bookService.updateById(book);return b?修改成功:修改失败;}DeleteMapping(/{id})public String delete(PathVariable Integer id){//从路径中获取值Boolean b bookService.deleteById(id);return b?删除成功:删除失败;} }使用postman测试 完全正确 第八步封装数据 响应码类 public class Code {public static final Integer SAVE_OK10010;public static final Integer UPDATE_OK10020;public static final Integer DELETE_OK10030;public static final Integer SELECT_OK10040;public static final Integer SAVE_ERR10011;public static final Integer UPDATE_ERR10021;public static final Integer DELETE_ERR10031;public static final Integer SELECT_ERR10041;}封装结果类 public class Result {private Integer code;//响应码private Object data;//响应数据private String msg;//响应信息可有可无Overridepublic String toString() {return Result{ code code , data data , msg msg \ };}public Result(Integer code, Object data, String msg) {this.code code;this.data data;this.msg msg;}public Result(Integer code, Object data) {this.code code;this.data data;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;}public Object getData() {return data;}public void setData(Object data) {this.data data;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg msg;} }修改后的Controller /*ResponseBody Controller*/ RestController RequestMapping(value /books,produces application/json;charsetutf-8) public class BookController {Autowiredprivate BookService bookService;PostMappingpublic Result save(RequestBody Book book){//解析json对象Boolean b bookService.save(book);Integer codeb? Code.SAVE_OK:Code.SAVE_ERR;String msgb?新增成功:新增失败;return new Result(code,b,msg);}GetMappingpublic Result getAll(){ListBook bookList bookService.getAll();Integer codebookList!null?Code.SELECT_OK:Code.SELECT_ERR;String msgbookList!null?查询成功:查询失败;return new Result(code,bookList,msg);}GetMapping(/{id})public Result getById(PathVariable Integer id){//从路径中获取值Book book bookService.getById(id);Integer codebook!null?Code.SELECT_OK:Code.SELECT_ERR;String msgbook!null?查询成功:查询失败;return new Result(code,book,msg);}PutMappingpublic Result update(RequestBody UpdateBook book){Boolean b bookService.updateById(book);Integer codeb? Code.UPDATE_OK:Code.UPDATE_ERR;String msgb?修改成功:修改失败;return new Result(code,b,msg);}DeleteMapping(/{id})public Result delete(PathVariable Integer id){//从路径中获取值Boolean b bookService.deleteById(id);Integer codeb? Code.DELETE_OK:Code.DELETE_ERR;String msgb?删除成功:删除失败;return new Result(code,b,msg);} }报错 这里我使用postman测试时报错 No converter for [class com.hhh.pojo.vo.Result] with preset Content-Type null 解决方法 把RequestMapping(value /books,produces {text/html;charsetUTF-8}) 改成 RequestMapping(value /books,produces {application/json;charsetUTF-8}) 异常处理器 我们可以把出现的异常封装成结果类返回给前端 RestControllerAdvice //包好了ResponseBodyComponent注解 public class ProjectExceptionAdvice {ExceptionHandler(Exception.class)//告诉spring这是处理异常的负责处理Exception异常public Result doException(Exception e){return new Result(Code.ERR,null,项目出错);} }还需要在Spring核心配置类中扫描到这个包如果没有写异常处理器就不会生效 Configuration ComponentScan({com.hhh.dao,com.hhh.service,com.hhh.exception}) PropertySource(classpath:jdbc.properties)//导入外部文件 Import({JdbcConfig.class, MybatisConfig.class})//加载外部配置类 EnableTransactionManagement//开启事务功能 public class SpringConfig { }我们随便写一个异常 结果 我们可以把我们常见的异常分成 业务异常和系统出错异常 public static final Integer ERR0;public static final Integer BUSINESS_ERR20101;public static final Integer SYSTEM_ERR20202; 先添加三个code编码 业务异常 public class BusinessException extends RuntimeException{private Integer code;public BusinessException(Integer code,String message) {super(message);this.codecode;}public BusinessException(Integer code,String message, Throwable cause) {super(message, cause);this.codecode;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;} }系统异常 public class SystemException extends RuntimeException{private Integer code;;public SystemException(Integer code,String message) {super(message);this.codecode;}public SystemException(Integer code,String message, Throwable cause) {super(message, cause);this.codecode;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;} }异常处理器 RestControllerAdvice //包好了ResponseBodyComponent注解 public class ProjectExceptionAdvice {ExceptionHandler(BusinessException.class)//处理BusinessException异常public Result doBusinessException(BusinessException e){//接收程序传过来的异常return new Result(e.getCode(),null,e.getMessage());}ExceptionHandler(SystemException.class)//处理SystemException异常public Result doSystemException(SystemException e){return new Result(e.getCode(),null,e.getMessage());}ExceptionHandler(Exception.class)//告诉spring这是处理异常的负责处理Exception异常public Result doException(Exception e){return new Result(Code.ERR,null,项目出错);} }测试 成功 拦截器  拦截器是一种动态拦截方法的机制 作用 在指定方法调用前后执行预先设定后的代码阻止原始方法的执行  如何定义拦截器 1.定义一个拦截器类并实现HandlerInterceptor Component//交给容器管理 public class MyInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(preHandle);//执行原方法之前return true;//返回true才能放行去访问controller}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println(postHandler);}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println(afterCompletion);} }spring核心配置类扫描该自定义的拦截器类并生成bean Configuration ComponentScan({com.hhh.dao,com.hhh.service,com.hhh.exception,com.hhh.interceptor}) PropertySource(classpath:jdbc.properties)//导入外部文件 Import({JdbcConfig.class, MybatisConfig.class})//加载外部配置类 EnableTransactionManagement//开启事务功能 public class SpringConfig { } 2.配置加载拦截器 public class SpringWebSupport implements WebMvcConfigurer {Autowiredprivate MyInterceptor myInterceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(myInterceptor).addPathPatterns(/books);//设置拦截的路径} }3.让SpringMVC加载此配置类 Configuration ComponentScan(com.hhh.controller) EnableWebMvc//开启辅助功能 Import(SpringWebSupport.class) public class SpringMvcConfig { }结果 拦截器链 当配置多个拦截器时形成拦截器链拦截器链的运行顺序参照拦截器添加的顺序为准当拦截器中出现对原始拦截器的拦截返回false后面的拦截器均终止运行(后面的preHandler方法所有postHandle方法和包括自身的afterCompletion方法都不执行)当拦截器中断仅运行配置在前面的拦截器的afterCompletion 添加其他的拦截器 加载这些拦截器 public class SpringWebSupport implements WebMvcConfigurer {Autowiredprivate MyInterceptor myInterceptor;Autowiredprivate MyInterceptor2 myInterceptor2;Autowiredprivate MyInterceptor3 myInterceptor3;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(myInterceptor).addPathPatterns(/books,/books/*);//设置拦截的路径registry.addInterceptor(myInterceptor2).addPathPatterns(/books,/books/*);registry.addInterceptor(myInterceptor3).addPathPatterns(/books,/books/*);} } 执行的顺序就是加载的顺序 结果
文章转载自:
http://www.morning.hcqpc.cn.gov.cn.hcqpc.cn
http://www.morning.nwmwp.cn.gov.cn.nwmwp.cn
http://www.morning.kyctc.cn.gov.cn.kyctc.cn
http://www.morning.slmbg.cn.gov.cn.slmbg.cn
http://www.morning.kybjr.cn.gov.cn.kybjr.cn
http://www.morning.bpptt.cn.gov.cn.bpptt.cn
http://www.morning.gzxnj.cn.gov.cn.gzxnj.cn
http://www.morning.xkwrb.cn.gov.cn.xkwrb.cn
http://www.morning.xkzr.cn.gov.cn.xkzr.cn
http://www.morning.zwyuan.com.gov.cn.zwyuan.com
http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn
http://www.morning.xhftj.cn.gov.cn.xhftj.cn
http://www.morning.wqpm.cn.gov.cn.wqpm.cn
http://www.morning.wctqc.cn.gov.cn.wctqc.cn
http://www.morning.zcncb.cn.gov.cn.zcncb.cn
http://www.morning.ntzfj.cn.gov.cn.ntzfj.cn
http://www.morning.spghj.cn.gov.cn.spghj.cn
http://www.morning.rzdzb.cn.gov.cn.rzdzb.cn
http://www.morning.i-bins.com.gov.cn.i-bins.com
http://www.morning.qqpg.cn.gov.cn.qqpg.cn
http://www.morning.bfcxf.cn.gov.cn.bfcxf.cn
http://www.morning.nlhcb.cn.gov.cn.nlhcb.cn
http://www.morning.xkgyh.cn.gov.cn.xkgyh.cn
http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn
http://www.morning.pmsl.cn.gov.cn.pmsl.cn
http://www.morning.kqylg.cn.gov.cn.kqylg.cn
http://www.morning.fbdkb.cn.gov.cn.fbdkb.cn
http://www.morning.lmqw.cn.gov.cn.lmqw.cn
http://www.morning.zmpqt.cn.gov.cn.zmpqt.cn
http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn
http://www.morning.pmlgr.cn.gov.cn.pmlgr.cn
http://www.morning.zxqxx.cn.gov.cn.zxqxx.cn
http://www.morning.pfntr.cn.gov.cn.pfntr.cn
http://www.morning.wmnpm.cn.gov.cn.wmnpm.cn
http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn
http://www.morning.nlkjq.cn.gov.cn.nlkjq.cn
http://www.morning.ftwlay.cn.gov.cn.ftwlay.cn
http://www.morning.rqqn.cn.gov.cn.rqqn.cn
http://www.morning.krrjb.cn.gov.cn.krrjb.cn
http://www.morning.wfcqr.cn.gov.cn.wfcqr.cn
http://www.morning.ykmtz.cn.gov.cn.ykmtz.cn
http://www.morning.fwwkr.cn.gov.cn.fwwkr.cn
http://www.morning.ntwxt.cn.gov.cn.ntwxt.cn
http://www.morning.bpmft.cn.gov.cn.bpmft.cn
http://www.morning.tztgq.cn.gov.cn.tztgq.cn
http://www.morning.hlhqs.cn.gov.cn.hlhqs.cn
http://www.morning.dqkrf.cn.gov.cn.dqkrf.cn
http://www.morning.xyjlh.cn.gov.cn.xyjlh.cn
http://www.morning.kfrhh.cn.gov.cn.kfrhh.cn
http://www.morning.xgchm.cn.gov.cn.xgchm.cn
http://www.morning.qblcm.cn.gov.cn.qblcm.cn
http://www.morning.skmzm.cn.gov.cn.skmzm.cn
http://www.morning.qfths.cn.gov.cn.qfths.cn
http://www.morning.mttck.cn.gov.cn.mttck.cn
http://www.morning.bxnrx.cn.gov.cn.bxnrx.cn
http://www.morning.jnoegg.com.gov.cn.jnoegg.com
http://www.morning.xdhcr.cn.gov.cn.xdhcr.cn
http://www.morning.hncrc.cn.gov.cn.hncrc.cn
http://www.morning.sfswj.cn.gov.cn.sfswj.cn
http://www.morning.coatingonline.com.cn.gov.cn.coatingonline.com.cn
http://www.morning.lbqt.cn.gov.cn.lbqt.cn
http://www.morning.drspc.cn.gov.cn.drspc.cn
http://www.morning.guofenmai.cn.gov.cn.guofenmai.cn
http://www.morning.bkkgt.cn.gov.cn.bkkgt.cn
http://www.morning.nqxdg.cn.gov.cn.nqxdg.cn
http://www.morning.xltdh.cn.gov.cn.xltdh.cn
http://www.morning.tbzcl.cn.gov.cn.tbzcl.cn
http://www.morning.ndxmn.cn.gov.cn.ndxmn.cn
http://www.morning.cpljq.cn.gov.cn.cpljq.cn
http://www.morning.wyrkp.cn.gov.cn.wyrkp.cn
http://www.morning.wsxly.cn.gov.cn.wsxly.cn
http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn
http://www.morning.cwyfs.cn.gov.cn.cwyfs.cn
http://www.morning.wjhdn.cn.gov.cn.wjhdn.cn
http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn
http://www.morning.nynyj.cn.gov.cn.nynyj.cn
http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn
http://www.morning.jqpq.cn.gov.cn.jqpq.cn
http://www.morning.fqtzn.cn.gov.cn.fqtzn.cn
http://www.morning.shprz.cn.gov.cn.shprz.cn
http://www.tj-hxxt.cn/news/239749.html

相关文章:

  • 移动端网站建设的尺寸禅城网站建设哪家好
  • discuz 仿h5 网站模板我想自己建立一个网站
  • 金安区住房和城乡建设局网站h5做的网站
  • 品牌展示型网站源码网站信息查询
  • 装修网站制作wordpress 360加速
  • 表述网站建设流程嘉兴网站建设正规公司
  • 不关站备案wordpress 2019校园设计网站
  • 网站未备案可以上线吗罗湖最新通告
  • 做同城服务网站比较成功的网站wordpress 首页显示分类
  • 哪位大神推荐一下好网站澄海网站建设公司
  • 温州网站建帝国cms 网站地图 xml
  • 管理网站英文广州网站建设海珠信科
  • 网站背景更换wordpress打包app
  • 东莞网页制作免费网站制作摄影师招聘网站
  • 枣强网址建站婚纱定制网站哪个好
  • 百度推广移动端网站百姓装潢上海门店具体地址
  • 商城网站如何优化电商网站做互联网金融
  • 商城类网站建设需要多少钱廊坊网站建设团队
  • 西安优秀的定制网站建设公司哪家好网址缩短链接在线工具
  • 广州海珠网站设计北京市网站制作设计
  • 网站建设怎么搞银川手机网站建设
  • 郑州市的实惠推广网站wordpress空间清理
  • 东南亚做棋牌网站上海自聊自做网站
  • 海外网站如何做用户实名认证网站搭建网
  • 福州企业网站模板建站如何制作网站的步骤
  • 《网站建设方案》在北京网站建设的岗位
  • 企业网站模板下载需谨慎中国兰州网
  • 做网投网站好wordpress 源码讲解
  • 非模板网站水果网店网站建设策划书
  • 万网备案网站名称wordpress怎么注册用户