Spring3 MVC Annotaction入门(登录示例)
Informix关联外键
今天工作中遇到的问题,把公司的数据库迁移到另一个服务器,执行关联外键的SQL时,报错:
525: Failure to satisfy referential constraint fk_msg_bra_t_c_veh.
111: ISAM error: no record found.
后来发现是因为一个表有数据,而另一个表没有数据,在没有数据的表中插入相应数据后,执行成功。
Tomcat项目路径配置
Tomcat对工程的部署一般是将工程的压缩文件放在tomcat安装目录的webapps下,访问时通过键入:
http://localhost:8080/xx(假定为本机访问,xx是部署时的应用工程的访问名字)。
而如果直接键入:http://localhost:8080出来的将是tomcat自带的欢迎页面,如何让键入http://localhost:8080出来的是自己的应用工程的页面呢?
在Tomcat默认安装后,tomcat的主目录是webapps/root目录,所以如果想改变tomcat的主目录的话可以如下所做:
方法一:
(假设tomcat安装在C盘下,项目名为bidding)打开C:/Tomcat/conf/server.xml,在
<Context docBase="C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/bidding" path="" debug="0" reloadable="true"/>
这样重新启动tomcat,我们的主目录就被设置为bidding这个项目了。
方法二:
将tomcat安装目录下的ROOT下的所有文件全部删除,然后将工程的解压后的文件全部拷进去。
方法三:
Tomcat5.0以下版本在C:/Tomcat/conf/Catalina/localhost目录下会自动生成了一个ROOT.Xml,但是5.0以上版本不再生成此文件,所以可以新建个ROOT.xml,在里面加入如下代码:
<?Xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase=""C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/bidding"" path="" reloadable="true"></Context>
参考链接:http://jingyan.baidu.com/article/3c343ff7099ee40d37796307.html
Apache Httpd端口转发、多域名配置
Apache Httpd端口转发、多域名配置:
http://gaofeihang.blog.163.com/blog/static/845082852014916105447662
http://blog.csdn.net/leshjmail/article/details/6163581
Spring下载地址
Spring下载地址:
http:http://repo.spring.io/webapp/search/artifact/?0&q=spring-framework
ftp:http://maven.springframework.org/release/org/springframework/spring
CentOS 7.0安装搭建pptp vpn服务
一、环境
操作系统:CentOS 7.0 64位
本地网卡:
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.172.96.8 netmask 255.255.248.0 broadcast 10.172.103.255
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 47.88.1.245 netmask 255.255.252.0 broadcast 47.88.3.255
说明:本地网卡eth0负责连接vpn客户端,eth1负责与10.100.100.0网段服务器的连接。
目的:
1.vpn客户端能够成功的连接到vpn服务器上;
2.vpn服务器可以转发来自vpn客户端对10.100.100.0网段的请求。
检查是否支持:
# modprobe ppp-compress-18 && echo ok
执行上述命令后,显示“ok”。继续执行如下命令,并提示如下信息,则表明支持。
# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state
上述两条均通过,才能安装pptp。否则就只能考虑openvpn。
二、安装
1.Cent OS 7.0 默认集成了MPPE和PPP,以及iptables,因此下面检查也可以忽略:
# rpm -q ppp // 查询当前系统的ppp是否默认集成了,以及ppp的版本
用以下命令检查PPP是否支持MPPE:
# strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。
2.安装pptpd
# yum install pptpd
也可以自行下载进行安装:
# rpm -ivh pptpd-1.4.0-1.el6.x86_64.rpm
64位pptpd-1.4.0-1.el6.x86_64.rpm的下载地址:http://www.pipipan.com/file/18457333
32位pptpd-1.4.0-1.el6.i686.rpm版本下载地址:http://www.400gb.com/file/54124192
三、配置
注:配置相应文件时建议先使用cp命令备份.bak文件。
1. 配置/etc/ppp/options.pptpd
去掉两行ms-dns前面的#,并修改为google的dns
ms-dns 8.8.8.8
ms-dns 8.8.4.4
2. 配置/etc/ppp/chap-secrets
用户登录信息:
username pptpd password *
3. 配置/etc/pptpd.conf
去掉localip和remoteip两行的注释:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
4. 配置/etc/sysctl.conf
在末尾添加下面的代码,使内核支持转发:
net.ipv4.ip_forward = 1
运行下面的命令使内核修改生效:
# sysctl -p
四、转发
添加下面的iptables转发规则
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
注意:由于阿里云是双网卡,内网eth0,外网eth1,所以这块特别容易误写为eth0,这也是为什么很多杂乱的教程无法配置成功的原因之一。
添加转发规则后重启就会失效,CentOS 6系统可以使用service iptables save保存配置,但CentOS 7不支持,可能会报错:
-bash: /etc/init.d/iptables: No such file or directory
我们需要将配置写入rc.local文件中,开机自动设置,运行下面的命令赋予rc.loacl执行权限:
chmod +x /etc/rc.d/rc.local
然后编辑rc.local,并把上面的转发规则写到文件末尾。
五、启动
1. 启动pptpd
/etc/init.d/pptpd start
2. 用下面的命令使pptpd开机自动启动
chkconfig pptpd on
到此为止,vpn已搭建完成,可以连接并访问外网了。
参考:
centos6.4安装搭建pptp vpn服务:http://blog.csdn.net/musiccow/article/details/22655637
centos6.4安装配置vpn服务器步骤详解:http://www.jb51.net/os/RedHat/128137.html
阿里云服务器配置VPN详解,pptpd下载地址更新版:http://bbs.aliyun.com/read/231812.html
Centos 7搭建VPN(PPTP)服务器方法:http://www.wanghailin.cn/centos-7-vpn/
Java动态代理(JDK和CGlib)
java动态代理(JDK和CGlib):
http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html
Java中的this的理解
Java中的this表示对“这个对象”或者“当前对象”的引用。
例如:
this.apple();
表示调用apple()方法的那个对象的引用。
GitHub代理设置
在Git Shell中输入如下命令:
cd ~
发现home路径是C:\Users\z,在C:\Users\z目录下找到文件.gitconfig,里面内容如下:
[user]
name = zbc
email = zbc0512@163.com
[http]
proxy = http://host:port
[https]
proxy = http://host:port
修改代理部分,重启GitHub客户端,发现代理已经可以使用,可以正常push代码了。
注:此方法为GitHub代理设置的通用方法,与任何公司(例如PICC)内网无关,在此声明,敬请知晓!