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

网站字体怎么设置青岛做网站定制

网站字体怎么设置,青岛做网站定制,小型培训机构管理系统,wordpress物联网插件文章目录 一、需求概述二、开发方式1、传统开发方式2、将接口视为资源文件1.#xff09;springmvc工程2.#xff09;springboot工程3.#xff09;nginx代理 三、接口数据如何更新1、原始数据文件生成接口数据1.#xff09;定义启动类2.#xff09;启动监听3.#xff09;文… 文章目录 一、需求概述二、开发方式1、传统开发方式2、将接口视为资源文件1.springmvc工程2.springboot工程3.nginx代理 三、接口数据如何更新1、原始数据文件生成接口数据1.定义启动类2.启动监听3.文件处理4. 完整代码 2、借助crontab定时执行 一、需求概述 通用查询类接口的需求在开发过程中是比较常见的一类需求一般具有以下的特点 数据更新频率较低无强制鉴权需求短时间内数据内容固定 二、开发方式 1、传统开发方式 传统的开发方式偏向于遵循MVC 模式使用RestController注解来定义restful接口来进行后续开发。此开发模式大部分开发人员已经司空见惯驾轻就熟不再详细阐述。 2、将接口视为资源文件 具体做法分为以下几种情况 1.springmvc工程 springmvc工程配置文件一般为spring-mvc.xml在此文件添加如下配置指向外部文件目录 mvc:resources mapping/pics/** locationfile:C:\Users\DELL\Pictures\ /注意需要以file绝对文件路径 方式配置 参考项目https://gitee.com/00fly/java-code-frame/blob/master/springmvc-dbutils/ 2.springboot工程 springboot工程一般以javaCofig代码方式定义资源文件映射 Slf4j Configuration ConditionalOnWebApplication public class WebMvcConfig implements WebMvcConfigurer {....../*** 加载静态资源文件或文件映射br* 映射路径优先级顺序为META-INF/resources resources static public*/Overridepublic void addResourceHandlers(final ResourceHandlerRegistry registry){try{registry.addResourceHandler(/pics/**).addResourceLocations(classpath:/data/pic/);registry.addResourceHandler(/upload/**).addResourceLocations(file: new File(./upload/).getCanonicalPath() /);}catch (IOException e){log.error(e.getMessage(), e);}}参考项目https://gitcode.com/00fly/springboot-hello/ 示例https://00fly.online/upload/data.json 3.nginx代理 nginx代理更方便只需要在nginx根目录添加文件即可 典型的nginx配置文件如下 default.conf server {listen 80;server_name localhost;#access_log /var/log/nginx/host.access.log main;location / {root /usr/share/nginx/html;index index.html index.htm;} }我们只需在目录 /usr/share/nginx/html 放入资源文件即可。 示例http://124.71.129.204/data.json 三、接口数据如何更新 上部分我们已经解决了接口发布和访问的问题不要忘了通用查询类接口仍然有数据更新的需求我们如何来解决这个需求呢 1、原始数据文件生成接口数据 具体概括为监听原始数据文件当数据发生变化时生成接口数据文件适用于数据不定期更新 原始数据点击获取 1.定义启动类 import java.io.File; import java.io.IOException; import java.net.URL; import java.util.stream.Collectors; import java.util.stream.Stream;import org.apache.commons.lang3.StringUtils;import lombok.extern.slf4j.Slf4j;Slf4j public class MainRun {/*** 文件监听程序一直运行* * param args* throws IOException*/public static void main(String[] args)throws IOException{// 默认监听项目当前目录String path new File().getCanonicalPath();URL url MainRun.class.getProtectionDomain().getCodeSource().getLocation();if (url.getPath().endsWith(.jar)){log.info(please start jar like: java -jar files-listener-0.0.1.jar --path/work/test);path Stream.of(args).filter(arg - arg.contains(--path)).map(arg - StringUtils.substringAfter(arg, )).collect(Collectors.joining());if (StringUtils.isBlank(path) || !new File(path).exists() || !new File(path).isDirectory()){log.error(please check path is a exist directory!);return;}}FileMonitor.initJsonFilesMonitor(path);} } 2.启动监听 import java.io.File; import java.util.concurrent.TimeUnit;import org.apache.commons.io.filefilter.FileFilterUtils; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationMonitor; import org.apache.commons.io.monitor.FileAlterationObserver;import com.fly.simple.service.JsonDataService;import lombok.extern.slf4j.Slf4j;/*** 监听文件变化*/ Slf4j public class FileMonitor {/*** 初始化文件监听器*/public static void initJsonFilesMonitor(String path){try{log.info(start monitor {} ......, path);FileAlterationObserver observer new FileAlterationObserver(path, FileFilterUtils.suffixFileFilter(.json));File dir new File(path);observer.addListener(new FileAlterationListenerAdaptor(){Overridepublic void onFileCreate(File file){log.info(★★★★★★★★ {} created., file.getName());JsonDataService.parseDir(dir);}Overridepublic void onFileChange(File file){log.info(★★★★★★★★ {} changed., file.getName());JsonDataService.parseDir(dir);}Overridepublic void onFileDelete(File file){log.info(★★★★★★★★ {} deleted., file.getName());JsonDataService.parseDir(dir);}});// 开始监听new FileAlterationMonitor(TimeUnit.SECONDS.toMillis(10), observer).start();}catch (Exception e){log.error(e.getMessage(), e.getCause());}} } 3.文件处理 import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.ResourceBundle; import java.util.stream.Collectors;import org.apache.commons.io.FileUtils;import com.fly.simple.entity.Article; import com.fly.simple.entity.BlogData; import com.fly.simple.utils.JsonBeanUtils;import lombok.extern.slf4j.Slf4j;/*** JsonData服务类*/ Slf4j public class JsonDataService {private static File dir new File(ResourceBundle.getBundle(config).getString(out));public static void parseDir(File directory){try{// 遍历目录下json文件CollectionFile files FileUtils.listFiles(directory, new String[] {json}, false);ListArticle data files.stream().map(f - parseToArticles(f)).flatMap(List::stream).distinct().collect(Collectors.toList());FileUtils.writeStringToFile(dir, JsonBeanUtils.beanToJson(data, true), StandardCharsets.UTF_8, false);log.info(articles length : {}, data.size());}catch (IOException e){log.error(e.getMessage(), e);}}/*** 解析File为List* * param resource* return*/private static ListArticle parseToArticles(File file){try{String jsonData FileUtils.readFileToString(file, StandardCharsets.UTF_8);return JsonBeanUtils.jsonToBean(jsonData, BlogData.class, true).getData().getList();}catch (IOException e){log.error(e.getMessage(), e);return Collections.emptyList();}} }4. 完整代码 https://gitee.com/00fly/effict-side/tree/master/files-listener 2、借助crontab定时执行 具体概括为按照设定时间点生成接口数据文件适用于数据固定周期更新 files-listener项目根目录执行打包 mvn clean package -f pom-json.xml执行后会在target文件目录生成files-listener-0.0.1.jar将jar上传到服务器目录如/work/files-listener-0.0.1.jar后 命令行执行 #查看定时任务 crontab -l#编辑定时任务 crontab -e编辑时输入以下内容 0 */12 * * * java -jar /work/files-listener-0.0.1.jar此命令实现每12小时执行一次Jar 不再详细阐述实现思路具体请查阅文章服务器docker应用一览 有任何问题和建议都可以向我提问讨论,大家一起进步谢谢! -over-
http://www.hkea.cn/news/14444047/

相关文章:

  • 怎么学好网站开发江苏建设教育考试网站
  • 烟台建设银行网站黄骅市旅游景点有哪些
  • 网站管理建设工作报告国外有哪些设计网站推荐
  • 做医药商城网站的公司dede企业网站带留言板后台查询
  • 怎么才服务器上做网站高清图片素材网站推荐
  • 山东省建设文化传媒有限公司网站优秀的wordpress博客
  • 北京做兼职从哪个网站深圳市凡客科技有限公司
  • 济南正规网站制作怎么选择技术培训机构排名前十
  • 二级网站内容建设要求吗河北网站搜索排名优化方案
  • 企业手机网站建设效果济宁做网站的公司
  • 辽宁移动网站赌场网站建站
  • 广告网站留电话整人网络认证网站
  • 免费网站模板带后台网站制作网站建设需要多少钱
  • 网站设计分析案例如何做酒店网站
  • 网站建设 网页设计 的文章网站怎么做百度能搜到
  • 程序员知识网站需要多少钱东莞seo建站优化费用
  • 如何免费建网站大连做网页工作室
  • 做彩票网站需要什么服务器wordpress点击文字弹窗
  • 教育网站建设计划书wordpress小工具缓存
  • 黄岛区城市建设局网站商务网站设计实训报告
  • 现在还有做系统的网站吗wordpress 仪表盘
  • 网站建设开票属于什么服务网络营销方式的图片
  • 蚌埠网站建设网站linux做网站1G内存够不
  • 手机网站被拦截怎么解除任丘哪里做网站
  • 三明网站开发域名注册网站排名
  • 房产公司网站建设网站建设策划书
  • 邵阳建设网站的公司网站每年多少钱
  • 宁夏网站设计公司公司网站建设全包
  • 物流企业网站建设特色mvc5网站开发用户注册
  • 企业门户网站建设优势建立网站后期需要干嘛