表格隔行换色

使用下面的css可以使表格隔行换色

tr {
    background: #0FF;
}

tr:nth-child(2n) {
    background: #CCC;
}

tr {
    background-color:expression((this.sectionRowIndex % 2 == 0) ? "#F00":"#CCC" );
}

效果:

展示效果-张国利博客

- 阅读全文 -

Linux开启/禁止ping

这是Linux服务器安全的一部分,后续会增加更多的文章

1、vi /proc/sys/net/ipv4/icmp_echo_ignore_all

修改值为1禁止ping
修改为0,可以ping

保存退出的时候可能提示fsync failed,我也不知道怎么回事,在某云主机上出现的这个提示,在本机上没有问题

可以使用下面的方法也可以达到禁止ping的目的

2、 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

允许ping,使用echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all就行了

- 阅读全文 -

Linux 下增加用户并赋予root权限

1、添加用户
添加用户

adduser xxxx

修改密码

passwd xxxx

连着输入2次密码

提示all authentication tokens updated successfully.则操作成功。

2、赋予root权限

vim /etc/sudoers
找到
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
在后面添加

xxxx ALL=(ALL) ALL

保存退出后使用sudo xxxx

Linux禁止root远程登陆

Linux修改SSH远程登陆port

只需要修改ssh_config即可

1、首先备份文件

cp /etc/ssh/sshd_config /etc/ssh/sshd_configbak

2、修改端口为2233

vi /etc/ssh/sshd_config

#port 22后面一行增加:

port 2233

3、重启使修改生效

/etc/init.d/sshd restart
service sshd restart

HttpClient使用代理

HttpClient本身是一个HTTP通信协议的实现,所以也是支持使用代理访问目标地址的。

   HttpHost proxy = new HttpHost(proxyIp,proxPport);
   DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
   CloseableHttpClient httpClient = HttpClients.custom().setRoutePlanner(routePlanner).build();

代理 IP http://www.kuaidaili.com/free/intr/
测试接口 http://pv.sohu.com/cityjson?ie=utf-8

HttpClient 模拟浏览器获取数据

HTTP协议:https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

HttpCore: http://hc.apache.org/

maven

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.2</version>
    </dependency> 

代码如下,解释在代码中

package com.oak.spider;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class HC {
    public static void main(String args[]) throws  Exception{
        //创建一个浏览器
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //构建请求
        HttpPost post = new HttpPost("http://zhangguoli.cn");
        post.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0");
        //执行请求,获取返回数据
        CloseableHttpResponse response = httpClient.execute(post);
        //处理返回数据
        Header[] headers = response.getAllHeaders();//头部信息
        HttpEntity httpEntity = response.getEntity();//实体
        /*
        *    处理业务逻辑
        */
        //释放实体,关闭响应,关闭浏览器
        EntityUtils.consume(httpEntity);
        response.close();
        httpClient.close();
    }
}

Spring Boot中的常用注解

注解可以用在类上,方法上,方法的参数

@ResponseBody

Spring以字符串的形式渲染结果并将结果直接填充到HTTP的响应体中,直接返回给调用者,常用于构建RESTful的api

@Controller

用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)

@RestController

@ResponseBody和@Controller的合集

@RequestMapping('/path')

提供路由信息,拦截任何来自"/"路径的HTTP请求并做映射

@Component

泛指组件,常在公用类上使用

@ComponentScan

表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入

- 阅读全文 -

MongoDB CRUD 入门示例

环境准备

jremongo-java-driver-2.13.3.jar

层级关系

数据库 集合 文档

maven:

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.2.2</version>
    </dependency>

Gradle:

compile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.2.2'

- 阅读全文 -

vim命令

Esc进入命令模式
:q退出
:w保存
:w!强制保存
:wq! 强制保存并退出

:set number 显示行号

:/word 向下(后)找word
:?word 向上(前)找word
查找时,按n查找下一个匹配的单词

其他linux命令 Java程序员开发中常用Linux命令