springboot中filter的配置和顺序执行
项目结构
springboot版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Filter代码
AFilter
package com.wang.sb.filter;
import javax.servlet.*;
import java.io.IOException; /**
* @Author wly
* @Date 2018/6/14 10:54
*/
public class AFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException { } @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("I'm AFilter");
filterChain.doFilter(servletRequest,servletResponse);
} @Override
public void destroy() { }
}
BFilter
package com.wang.sb.filter; import javax.servlet.*;
import java.io.IOException; /**
* @Author wly
* @Date 2018/6/14 10:54
*/
public class BFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException { } @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("I'm BFilter");
filterChain.doFilter(servletRequest, servletResponse);
} @Override
public void destroy() { }
}
CFilter
package com.wang.sb.filter; import javax.servlet.*;
import java.io.IOException; /**
* @Author wly
* @Date 2018/6/14 10:54
*/
public class CFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException { } @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("I'm CFilter");
filterChain.doFilter(servletRequest, servletResponse);
} @Override
public void destroy() { }
}
DFilter
package com.wang.sb.filter; import javax.servlet.*;
import java.io.IOException; /**
* @Author wly
* @Date 2018/6/14 10:54
*/
public class DFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException { } @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("I'm DFilter");
filterChain.doFilter(servletRequest, servletResponse);
} @Override
public void destroy() { }
}
EFilter
package com.wang.sb.filter; import javax.servlet.*;
import java.io.IOException; /**
* @Author wly
* @Date 2018/6/14 10:54
*/
public class EFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException { } @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("I'm EFilter");
filterChain.doFilter(servletRequest,servletResponse);
} @Override
public void destroy() { }
}
Filter配置:名称、拦截位置、执行顺序等
package com.wang.sb.config; import com.wang.sb.filter.*;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import java.util.ArrayList;
import java.util.List; /**
* @Description
* @Author wly
* @Date 2018/6/14 14:20
*/
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean buildAFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setOrder(6);
filterRegistrationBean.setFilter(new AFilter());
filterRegistrationBean.setName("filter1");
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
} @Bean
public FilterRegistrationBean buildBFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setOrder(2);
filterRegistrationBean.setFilter(new BFilter());
filterRegistrationBean.setName("filter2");
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
} @Bean
public FilterRegistrationBean buildCFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setOrder(3);
filterRegistrationBean.setFilter(new CFilter());
filterRegistrationBean.setName("filter3");
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
} @Bean
public FilterRegistrationBean buildDFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setOrder(4);
filterRegistrationBean.setFilter(new DFilter());
filterRegistrationBean.setName("filter4");
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
} @Bean
public FilterRegistrationBean buildEFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setOrder(5);
filterRegistrationBean.setFilter(new EFilter());
filterRegistrationBean.setName("filter5");
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
} }
控制台日志(启动服务加载了filter)
"D:\dev tools\jdk\jdk8\bin\java" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:59538,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=59537 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath "D:\dev tools\jdk\jdk8\jre\lib\charsets.jar;D:\dev tools\jdk\jdk8\jre\lib\deploy.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\access-bridge-64.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\cldrdata.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\dnsns.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\jaccess.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\jfxrt.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\localedata.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\nashorn.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\sunec.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\sunjce_provider.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\sunmscapi.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\sunpkcs11.jar;D:\dev tools\jdk\jdk8\jre\lib\ext\zipfs.jar;D:\dev tools\jdk\jdk8\jre\lib\javaws.jar;D:\dev tools\jdk\jdk8\jre\lib\jce.jar;D:\dev tools\jdk\jdk8\jre\lib\jfr.jar;D:\dev tools\jdk\jdk8\jre\lib\jfxswt.jar;D:\dev tools\jdk\jdk8\jre\lib\jsse.jar;D:\dev tools\jdk\jdk8\jre\lib\management-agent.jar;D:\dev tools\jdk\jdk8\jre\lib\plugin.jar;D:\dev tools\jdk\jdk8\jre\lib\resources.jar;D:\dev tools\jdk\jdk8\jre\lib\rt.jar;E:\work\sb\target\classes;E:\work\localRepository\org\springframework\boot\spring-boot-starter-web\1.5.8.RELEASE\spring-boot-starter-web-1.5.8.RELEASE.jar;E:\work\localRepository\org\springframework\boot\spring-boot-starter\1.5.8.RELEASE\spring-boot-starter-1.5.8.RELEASE.jar;E:\work\localRepository\org\springframework\boot\spring-boot\1.5.8.RELEASE\spring-boot-1.5.8.RELEASE.jar;E:\work\localRepository\org\springframework\boot\spring-boot-starter-logging\1.5.8.RELEASE\spring-boot-starter-logging-1.5.8.RELEASE.jar;E:\work\localRepository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;E:\work\localRepository\org\slf4j\log4j-over-slf4j\1.7.25\log4j-over-slf4j-1.7.25.jar;E:\work\localRepository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;E:\work\localRepository\org\springframework\boot\spring-boot-starter-tomcat\1.5.8.RELEASE\spring-boot-starter-tomcat-1.5.8.RELEASE.jar;E:\work\localRepository\org\apache\tomcat\embed\tomcat-embed-core\8.5.23\tomcat-embed-core-8.5.23.jar;E:\work\localRepository\org\apache\tomcat\tomcat-annotations-api\8.5.23\tomcat-annotations-api-8.5.23.jar;E:\work\localRepository\org\apache\tomcat\embed\tomcat-embed-el\8.5.23\tomcat-embed-el-8.5.23.jar;E:\work\localRepository\org\apache\tomcat\embed\tomcat-embed-websocket\8.5.23\tomcat-embed-websocket-8.5.23.jar;E:\work\localRepository\org\hibernate\hibernate-validator\5.3.5.Final\hibernate-validator-5.3.5.Final.jar;E:\work\localRepository\javax\validation\validation-api\1.1.0.Final\validation-api-1.1.0.Final.jar;E:\work\localRepository\org\jboss\logging\jboss-logging\3.3.1.Final\jboss-logging-3.3.1.Final.jar;E:\work\localRepository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;E:\work\localRepository\com\fasterxml\jackson\core\jackson-databind\2.8.10\jackson-databind-2.8.10.jar;E:\work\localRepository\com\fasterxml\jackson\core\jackson-annotations\2.8.0\jackson-annotations-2.8.0.jar;E:\work\localRepository\com\fasterxml\jackson\core\jackson-core\2.8.10\jackson-core-2.8.10.jar;E:\work\localRepository\org\springframework\spring-web\4.3.12.RELEASE\spring-web-4.3.12.RELEASE.jar;E:\work\localRepository\org\springframework\spring-aop\4.3.12.RELEASE\spring-aop-4.3.12.RELEASE.jar;E:\work\localRepository\org\springframework\spring-beans\4.3.12.RELEASE\spring-beans-4.3.12.RELEASE.jar;E:\work\localRepository\org\springframework\spring-webmvc\4.3.12.RELEASE\spring-webmvc-4.3.12.RELEASE.jar;E:\work\localRepository\org\springframework\spring-expression\4.3.12.RELEASE\spring-expression-4.3.12.RELEASE.jar;E:\work\localRepository\com\github\tobato\fastdfs-client\1.25.2-RELEASE\fastdfs-client-1.25.2-RELEASE.jar;E:\work\localRepository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;E:\work\localRepository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;E:\work\localRepository\ch\qos\logback\logback-classic\1.1.11\logback-classic-1.1.11.jar;E:\work\localRepository\ch\qos\logback\logback-core\1.1.11\logback-core-1.1.11.jar;E:\work\localRepository\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar;E:\work\localRepository\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar;E:\work\localRepository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;E:\work\localRepository\commons-io\commons-io\2.4\commons-io-2.4.jar;E:\work\localRepository\org\apache\commons\commons-pool2\2.4.2\commons-pool2-2.4.2.jar;E:\work\localRepository\org\springframework\spring-core\4.3.12.RELEASE\spring-core-4.3.12.RELEASE.jar;E:\work\localRepository\org\springframework\boot\spring-boot-autoconfigure\1.5.8.RELEASE\spring-boot-autoconfigure-1.5.8.RELEASE.jar;E:\work\localRepository\org\mockito\mockito-all\1.9.5\mockito-all-1.9.5.jar;E:\work\localRepository\org\springframework\spring-context\4.3.12.RELEASE\spring-context-4.3.12.RELEASE.jar;E:\work\localRepository\net\coobird\thumbnailator\0.4.8\thumbnailator-0.4.8.jar;D:\dev tools\ide\ideaIU-2017.2.5.win\lib\idea_rt.jar" com.wang.sb.SbApplication
Connected to the target VM, address: '127.0.0.1:59538', transport: 'socket' . ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE) 2018-06-14 15:03:26.872 INFO 14760 --- [ main] com.wang.sb.SbApplication : Starting SbApplication on CFJSWLY with PID 14760 (E:\work\sb\target\classes started by admin in E:\work\sb)
2018-06-14 15:03:26.892 INFO 14760 --- [ main] com.wang.sb.SbApplication : The following profiles are active: dev
2018-06-14 15:03:27.040 INFO 14760 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3697186: startup date [Thu Jun 14 15:03:27 CST 2018]; root of context hierarchy
2018-06-14 15:03:28.755 INFO 14760 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2018-06-14 15:03:28.769 INFO 14760 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2018-06-14 15:03:28.770 INFO 14760 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.23
2018-06-14 15:03:28.935 INFO 14760 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-06-14 15:03:28.935 INFO 14760 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1901 ms
2018-06-14 15:03:29.185 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'filter2' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'filter3' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'filter4' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'filter5' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'filter1' to: [/*]
2018-06-14 15:03:29.186 INFO 14760 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2018-06-14 15:03:29.401 WARN 14760 --- [ main] figurationPropertiesBindingPostProcessor : The @ConfigurationProperties bean class com.github.tobato.fastdfs.conn.TrackerConnectionManager contains validation constraints but had not been annotated with @Validated.
2018-06-14 15:03:29.401 WARN 14760 --- [ main] figurationPropertiesBindingPostProcessor : The @ConfigurationProperties bean class com.github.tobato.fastdfs.conn.TrackerConnectionManager contains validation constraints but had not been annotated with @Validated.
2018-06-14 15:03:29.402 WARN 14760 --- [ main] figurationPropertiesBindingPostProcessor : The @ConfigurationProperties bean class com.github.tobato.fastdfs.conn.TrackerConnectionManager contains validation constraints but had not been annotated with @Validated.
2018-06-14 15:03:29.852 INFO 14760 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3697186: startup date [Thu Jun 14 15:03:27 CST 2018]; root of context hierarchy
2018-06-14 15:03:29.928 INFO 14760 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello/a]}" onto public java.lang.String com.wang.sb.web.HelloController.hello()
2018-06-14 15:03:29.930 INFO 14760 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello/download]}" onto public void com.wang.sb.web.HelloController.downloadFile(java.lang.String,javax.servlet.http.HttpServletResponse) throws java.io.IOException
2018-06-14 15:03:29.931 INFO 14760 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello/upload]}" onto public java.lang.String com.wang.sb.web.HelloController.uploadFile(org.springframework.web.multipart.MultipartFile) throws java.io.IOException
2018-06-14 15:03:29.933 INFO 14760 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-06-14 15:03:29.934 INFO 14760 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-06-14 15:03:29.970 INFO 14760 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-06-14 15:03:29.970 INFO 14760 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-06-14 15:03:30.030 INFO 14760 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-06-14 15:03:30.287 INFO 14760 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-06-14 15:03:30.288 INFO 14760 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Bean with name 'fdfsConnectionPool' has been autodetected for JMX exposure
2018-06-14 15:03:30.294 INFO 14760 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Located MBean 'fdfsConnectionPool': registering with JMX server as MBean [com.github.tobato.fastdfs.conn:name=fdfsConnectionPool,type=FdfsConnectionPool]
2018-06-14 15:03:30.360 INFO 14760 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2018-06-14 15:03:30.368 INFO 14760 --- [ main] com.wang.sb.SbApplication : Started SbApplication in 4.506 seconds (JVM running for 7.32)
请求URL(测试filter效果)
{{env}}/hello/a
控制台日志
I'm BFilter
I'm CFilter
I'm DFilter
I'm EFilter
I'm AFilter
亲测有效!
springboot中filter的配置和顺序执行的更多相关文章
- 如果你还不知道如何控制springboot中bean的加载顺序,那你一定要看此篇
1.为什么需要控制加载顺序 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题.在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功 ...
- 详解Springboot中自定义SpringMVC配置
详解Springboot中自定义SpringMVC配置 WebMvcConfigurer接口 这个接口可以自定义拦截器,例如跨域设置.类型转化器等等.可以说此接口为开发者提前想到了很多拦截层面的需 ...
- springBoot中实现自定义属性配置、实现异步调用、多环境配置
springBoot中其他相关: 1:springBoot中自定义参数: 1-1.自定义属性配置: 在application.properties中除了可以修改默认配置,我们还可以在这配置自定义的属性 ...
- Android中让多个线程顺序执行探究
线程调度是指按照特定机制为多个线程分配CPU的使用权. 有两种调度模型:分时调度模型和抢占式调度模型. 分时调度模型:是指让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片. ...
- js中一个标签在按顺序执行没有被读取到时可以用window.onload
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%> <!DOCTYPE html PUBLIC " ...
- 面试官:Java中线程是按什么顺序执行的?
摘要:Java中多线程并发的执行顺序历来是面试中的重点,掌握Java中线程的执行顺序不仅能够在面试中让你脱颖而出,更能够让你在平时的工作中,迅速定位由于多线程并发问题导致的"诡异" ...
- Asp.Net WebAPI中Filter过滤器的使用以及执行顺序
转发自:http://www.cnblogs.com/UliiAn/p/5402146.html 在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行 ...
- SpringBoot中的bean加载顺序
https://www.dazhuanlan.com/2019/10/22/5daebc5d16429/ 最近在做传统Spring项目到SpringBoot项目迁移过程中,遇到了一些bean加载顺序的 ...
- springboot中的日志配置
日志方式:每天日志存放在一个文件中,info和warn日志存放一个文件,error存放一个文件 创建文件 logback-spring.xml <?xml version="1.0&q ...
随机推荐
- iddler抓包过程以及fiddler抓包手机添加代理后连不上网解决办法
转载自:https://blog.csdn.net/m0_37554415/article/details/80434477,感谢博主的热心分享 1.(1)电脑端打开安装好的的fiddler,打开To ...
- json对象和数组
Json数据就是格式化的字符串.c#中如果做为参数调用,类型就是string.1.Json数组 方括号[{ "firstName":"John" , " ...
- win8.1中向IIS注册asp.net
以前都是用aspnet_regiis -I 命令向IIS注册asp.net ,今天换了win8.1后竟然发现这招不好使了. 根据提示,需要用dism.exe来完成注册. 折腾一会儿后,问题最终解决: ...
- CentOS7服务管理(重启,停止,自动启动命令)
我们对service和chkconfig两个命令都不陌生,systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体. systemctl is-enable ...
- python-UDP传输模型
#!/usr/bin/python #coding=utf-8 #服务器端 from socket import * from time import ctime HOST="192.168 ...
- ES6-Async & 异步
依赖文件地址 :https://github.com/chanceLe/ES6-Basic-Syntax/tree/master/js <!DOCTYPE html> <html&g ...
- CSS position属性absolute relative等五个值的解释
DIV CSS position绝对定位absolute relative教程篇 常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:abs ...
- Training Logisches Denken
1.Das Begriff 1.1 Die Arten von Begriff 1.1.1 alleines Begriff,universales Begriff,Leeres Begriff: A ...
- i.mx6 Android5.1.1 servicemanager本地服务
接在之前的 i.mx6 Android5.1.1 初始化流程之init进程 i.mx6 Android5.1.1 初始化流程之init.rc解析 servicemanager是由init创建的本地服务 ...
- 基础语言知识JAVA
1. 总结: JAVA比较重要的博客: http://www.runoob.com/java/java-tutorial.html (JAVA教程) http://blog.csdn.net/ ...