以前的笔记2
HttpResponse httpResponse = httpclient.execute(httpPost);
这样就可以将SessionId带过去了。
如果 是 HttpURLConnection 那么设置?
?
httpURLConnection.setRequestProperty("("Cookie", "JSESSIONID=" + 我们在静态变量里存放的SessionId");
?
httpURLConnection.getOutputStream();
--------------------------
在Android开发中通过localhost或127.0.0.1访问本地服务器时,会报java.net.ConnectException: localhost/127.0.0.1:8083 -Connection refused异常。
?
为什么会报这个异常呢?因为Android模拟器本身把自己当做了localhost或127.0.0.1,而此时我们又通过localhost或127.0.0.1访问本地服务器,所以会抛出异常了。
?
在网上查了下,在模拟器上可以用10.0.2.2代替127.0.0.1和localhost;
?
另外如果是在局域网环境可以用192.168.0.x或者192.168.1.x(根据具体配置)连接本机。在局域网环境为了保守起见,我们可以通过Android代码来获取本机的IP,接下来就通过代码演示怎么获取Android能访问本地服务器的IP
-------------------------------
android项目每次备份的时候将bin目录下的文件手动删除就行了,
-------------------------------
在android 项目中bin目录下的AndroidManifest.xml文件中添加uses-prmisson,结果以保存中丢失添加的内容,也就是无法保存,一直不知道为啥,后来发现在根目录下也有一个同样的文件,于是直接在他下面添加,保存,唉?成功了,在看bin目录的同样文件,竟然也有了,看来bin目录的文件时自动生成的,修改配置什么的应该在根目录下的AndroidManifest.xml中修改。
?
后查阅才明白,bin目录的内容都是自动生成的。
----------------------------------
MyEclipse_android解决项目不能运行在模拟器上
?
今天遇到个问题,项目写好了,但是右键run as选择android application,程序没有反应,模拟器也不运行,怎么点都没用。
?
后来在run as选择run configurations,双击android application在new_configuration界面里面点击browse选择你的程序,点击run就能够在模拟器里面运行你的程序了!
-----------------------------------
Android开发中,项目打包如果报错,如下操作:
右击项目--属性---跳出页面左侧---Builders--去掉前三个复选框上的钩,ok,但是这样依赖以后如果重新修改该项目,比如修改了string.xml文件,那么R.java是无法自动更新新加入到string.xml中的字符的,此时又需要把复选框勾上,然后重新刷新。
?
网上解决方案:
?
一般会有两种情况:?
1,xml文件中的格式或内容有错误.
2,编译器所用的sdk是老版本,
?
出现第一个错误,只要修改xml文件保存即可,
如果出现第二种情况,要在eclipse的工具栏 选择Project下的 Build Automaticaly ,将上面的勾勾掉
---------------------------------------------------------------------
java历史版本下载:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
----------------------------------------------------------------
js 对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
?
1、 ? 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7& u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a& gt;');</script>
?
2、 ? 进行url跳转时可以整体使用encodeURI
?
例如:Location.href="/encodeURI"("http://cang.baidu.com/do/s?word=百度&ct=21");
?
3、 ? js使用数据时可以使用escape
?
例如:搜藏中history纪录。
?
4、 ? escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
?
?
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
?
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
?
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
?
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
------------------------------------------------------------------
直接在浏览器地址栏访问webservice的方法:
http://ip地址:端口号/项目名称/services/services服务名?method=请求的方法名&value=方法参数值
记得参数值要做url编码转换,尤其是包含汉字和其他符号字符的时候,一定要进行UrlEncode编码。
eg:
?
http://192.168.0.3/webservice/services/MyOutAccess?method=query&value=%26lt%3B%3Fxml%20version%3D%26quot%3B1.0%26quot%3B%20encoding%3D%26quot%3BGBK%26quot%3B%3F%26gt%3B%26lt%3Broot%26gt%3B%26lt%3Bhead%26gt%3B%26lt%3Bssipss%26gt%3B192.168.66.1%26lt%3B%2Fssipss%26gt%3B%26lt%3B%26lt%3B%2Fhead%26gt%3B%26lt%3Bbody%26gt%3B%26lt%3Bls%26gt%3B%26lt%3Bnc%26gt%3B42790%26lt%3B%2Fnc%26gt%3B%26lt%3B%2Fls%26gt%3B%26lt%3B%2Fbody%26gt%3B%26lt%3B%2Froot%26gt%3B
-------------------------------------------------------------
关闭系统,打开虚拟机配置文件(.vmx文件),该文件位于所装虚拟机目录(不是虚拟机软件目录),在配置文件末尾加上bios.forceSetupOnce = "TRUE"或者bios.bootDelay = "xxxx"(xxxx用具体数字代替,以毫秒为单位),我用的是bios.bootDelay = "3000",即三秒钟。启动系统 ,如下画面时按下F2,Ok,终于进入了Bios,顺便把Diskette给Disable了
------------------------------------------------------------
?
/etc/:系统的所有设定文件几乎都在此,尤其passwd,shadow?
/etc/rc.d/init.d:系统启动时加载服务的脚本文件的存放地点
/boot:启动配置文件,也是预设存放核心vmlinuz的地方
/usr/bin,/bin:用于存放一般执行文件的地方
/usr/sbin,/sbin:系统管理员常用指令集的存放地点
/dev:存放所有系统设备文件的目录
/var/log:存放系统登录文件的地方
?
以“.”开头的文件为隐藏文件,需要使用ls -a指令才能显示出隐藏文件的内容,而使用ls -al才能显示其属性。
------------------------------------------------------------
?
ifconfig
ifup ?eth0 ?<==启动eth0 网卡
ifdown eth0 ?<==关闭eth0 网卡 ?//远程登录千万不要这样,不然你就悲剧了
?
/etc/rc.d/init.d/network restart <==重新启动网络接口
?
--------------------------------------------------------
在完全备份工具中,3个工具tar,cpio与dump都很常用。cpio的最大好处就是连一般的设备文件都可以复制过来,所以使用cpio进行完全备份是很棒的一个选择。不过需要注意的是,cpio需要借助find 或其他可以找到文件的指令的帮助才可以正常工作。
?
1. 使用cpio 进行备份与反备份
[root @test /root]# find / -print | cpio -covB > /dev/st0 <==备份至tap?
[root @test /root]# cpio -iduv < /dev/st0 ? <==用tap将数据存回系统中
?
2. 使用tar 备份
[root @test /root]# tar -zcvf host.tar.gz / --exclude /proc --exclude /mnt --exclude /tmp?
[root @test /root]# tar -zxvf host.tar.gz
?
至于部分备份,我们就以简单的tar进行说明。假如我们需要备份的数据是每天的MySQL 数据库,由于我想让每天的数据都存成不同的文件,而且文件的新旧以日期作为区分最简单,所以我可以这样做:
[root @test /root]# tar -zcvf mysql.`date +%Y-%m-%d`.tar.gz /var/lib/mysql?
?
[root @test /root]# tar -N '2002/07/05' -zcvf home.tar.gz /home?
只有在比2002/07/05 还要新的文件,在/home 下的文件才会被打包进home.tar.gz 中
----------------------------------------------------------
netstat -aup|more
?
ps -aux|grep 服务名
----------------------------------------------------------
rpm -ivh xxxx ?
?
rpm -ivh --nodeps rp-pppoe-2.6-5.i386.RPM ? ? ? ? ?<==不考虑相依模块
--nodeps:不考虑依赖属性,强制安装。
?
?
rpm -ivh --replacepkgs rp-pppoe-2.6-5.i386.RPM ? ? <==直接覆盖掉曾安装过的套件
?
--replacepkgs:如果之前安装过这个套件,您想覆盖这个套件,那么不需要反安装后再安装,可以直接加--replacepkgs强制覆盖
?
?
rpm -ivh --replacefiles rp-pppoe-2.6-5.i386.RPM ? ?<==直接覆盖掉被修改过的问题文件
?
--replacefiles:如果这个套件安装完毕,曾经被您修改过文件,就是安装过程中会出现confilcting files的话,可以直接以--replacefiles覆盖掉这种文件
?
?
rpm -Fvh *.RPM ? ? <==所有在您Linux 主机上安装过的套件才能升级
?
rpm -qpi rp-pppoe-2.6-5.src.RPM ? ? <==查询这个套件的详细信息,如果忘记套件的全名,那么可以使用RPM -qa | grep pakagename来选择适当的套件;若使用-qi,则可以了解这个套件的主要信息。
?
?
rpm -qpl rp-pppoe-2.6-5.src.RPM ? ? <== 查询这个套件中有多少文件
?
?
rpm -e re-pppoe <==解除安装rp-pppoe
rpm --rebuilddb <==使用--rebuilddb来重建RPM的数据库
-----------------------------------------------------------
dmesg|more: 查看登录信息
uptime:查看当前时间,开机多久,几个用户,过去1,5,15分钟系统的平均负载
who,w,whoami:查看登录用户,当前用户
last:最近登录用户,太多的话用 last -数字代替,eg :last -5
hostname:主机名称
-----------------------------------------------------------
?
?
查找操作,建议方案:
updatedb
locate ?filename
?
使用 whereis有时候查不出来,可能还没深入理解whereis吧,至于find,最后再使用
?
find ?路径 参数
?
find / -name ytj
find / -name 'ytj*' ?模糊匹配需要加单引号 (貌似双引号也OK)
find / -gid root
find / -user root
find / -type /c/d/l (c:串口设备,d:目录;l:链接)
----------------------------------------------------------
键盘值:
?
keyCode==32空格
keyCode==13回车
keyCode==27Esc
keyCode==16Shift
keyCode==17Ctrl
keyCode==18Alt
-----------------------------------------------------------
每个能用chkconfig管理的系统服务脚本需要两个或更多特殊注释行,第一行是该系统服务在哪些运行级别启动、启动优先级和停止优先级. 第二行是服务的描述信息,可以多行,用反斜杠续行下面是一个chkconfig能够是别的注释样本:
?
? ? ? ?# chkconfig: 2345 20 80
? ? ? ?# description: Saves and restores system entropy pool for \
? ? ? ?# ? ? ? ? ? ? ?higher quality random number generation.
?
上面的样本意思是:该脚本将在运行级别2,3,4,5启动,启动优先级为20,停止优先级为80,
-----------------------------------------------------
查看Linux重启时间:
who -b
last reboot
last -x
?
?-a 把从何处登入系统的主机名称或IP地址,显示在最后一行。
-d 将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
?
-----------------------------------------------------------
对#!/bin/sh的认识
?
shell编程是以"#"为注释,但对"#!/bin/sh"却不是。"#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在。(#! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径)如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell.如果脚本被编写为在Kornshell ksh中运行,而默认运行shell脚本的为C shell csh,则脚本在执行过程中很可能失败。所以建议大家就把"#!/bin/sh"当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。
----------------------------------------------------------------
linux ?shell 编程要点:
?
1.if后要有空格
2.[] 中括号的开头和结尾要有空格!
3. [ $1-eq"root" ]中括号中的$1和-eq和"root"之间没有空格!
-----------------------------------------------------------------------
vi编辑器:
?
撤销:shift + u;
撤销恢复:crt+r?
?
vi下产生swp文件后,使用rm ?.文件名.swp删除
?
eg:rm .tomcat.swp
-----------------------------------------