python语句块状注释的方法
python注释的三种方法:
1.井号注释单行代码: #
2.三个单引号或三个双引号注释语句块: ''' 或者" " "
3.井号加两个百分号画出语句块分界线: #%% python注释的三种方法:
1.井号注释单行代码: #
2.三个单引号或三个双引号注释语句块: ''' 或者" " "
3.井号加两个百分号画出语句块分界线: #%% .class{
background-image: url('a.jpg');
background-repeat: no-repeat;
background-size: 100% 100%;
}
首先声明
background-size是一个css3属性。 翻译过来很容易就知道它是用来规定背景尺寸的。
关于浏览器兼容性
IE9+、Firefox 4+、Opera、Chrome 以及 Safari 5+。
用法
background-size有4个值分别是(length | percentage | cover | contain)。
length: 它主要是用来规定背景的宽(width)和高(heigth)。eg: background-size: 100px 100px;
percentage: 它主要是用来以父元素的百分比来设置背景的宽高。 eg: background-size: 50% 50%;
length和percentage的用法其实是相似的, 都是通过设置背景的长宽来显示图片。 如果只有一个参数, 则表示另一个参数为auto。
cover: 它主要表示把图片扩展到足够大, 以使背景图像完全覆盖背景区域。 这里要注意背景图像的某些部分也许无法显示在背景定位区域中。
eg: background-size: cover;
contain: 它主要表示把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。eg: background-size: contain;
背景图不平铺
background-repeat: no-repeat;
当内容高度大于图片高度时,背景图像的位置相对于viewport固定
background-attachment: fixed; //此条属性必须设置否则可能无效/
让背景图基于容器大小伸缩
background-size: cover;
selenium phantomjs java无界面浏览器环境搭建
java selenium搭建无界面浏览器
下载windows版phantomjs
2.解压后bin目录下会有exe文件

3.测试代码:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
// System.setProperty("webdriver.gecko.driver", "C:\\Program Files (x86)\\Mozilla Firefox\\geckodriver.exe");
System.setProperty("phantomjs.binary.path", "C:\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
// WebDriver driver = new FirefoxDriver();
WebDriver driver = new PhantomJSDriver();
driver.get("http://www.baidu.com");
System.out.println(driver.getCurrentUrl());
}
}
4.url成功打印
/** * 应用完全启动后, Spring执行自定义初始化 此处初始化避免了初始化static时 bean还没注入的问题 */ spirng mvc xml 文件 <!-- spring环境都初始化完成后执行的一些操作 --> <bean id="instantiationListener" class ="com.xxx.xxx.web.base.InstantiationListener" />
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; /** * 应用完全启动后, Spring执行自定义初始化 此处初始化避免了初始化static时 bean还没注入的问题 */ public class InstantiationListener implements InitializingBean { private static final Logger logger = LoggerFactory.getLogger(InstantiationListener.class); @Autowired private WechatAccessTokenService wechatAccessTokenService;// 这里注入不会有生存周期的问题 // ==>继承于InitializingBean 的afterPropertiesSet()方法是初始化方法. @Override public void afterPropertiesSet() { try { System.out.println("init.....初始化微信获取accessToken service...."); JwTokenAPI.wechatAccessTokenService = wechatAccessTokenService; //JwTokenAPI类的静态属性是wechatAccessTokenService } catch (Exception e) { logger.error("初始化微信获取accessToken service [wechatAccessTokenService] 异常"); } } }
/**
* 功能:将http://example.com重定向至http://www.example.com
* */
private static final String DOMAIN = "aaa.com";
/**
* 在DispatcherServlet之前执行
* */
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
// 获取域名
String serverName = request.getServerName();
// 获取请求路径
String path = httpServletRequest.getRequestURI();
//queryString 支持多参数 ?a=1&b=2#&c=22## 等
String queryString = (httpServletRequest.getQueryString() == null ? "" : "?"+httpServletRequest.getQueryString()); // 获取路径中的参数
int end = serverName.indexOf(DOMAIN);
if (end!= -1 && end == 0) { //判断是否是example.com,如果是通过ip地址访问暂时不处理 //end == -1 || end == 0(不是本域名都跳转)
httpServletResponse.setStatus(301);
httpServletResponse.setHeader( "Location", "http://www."+DOMAIN+path+queryString);
httpServletResponse.setHeader( "Connection", "close" );
return false;
}
return true;
}