2010年8月29日星期日
ubuntu 安装tomcat
tar -zxvf tomcat.tar.gz
启动 sh startup.sh
给root添加jdk path
sudo gedit /etc/environment
添加PATH
安装mysql
root@spring-ubuntu:/usr/local/tomcat6/bin# sudo apt-get install mysql-server
启动mysql服务器:sudo /etc/init.d/mysql start
关闭mysql服务器:sudo /etc/init.d/mysql stop
查看mysql服务器是否启动:sudo /etc/init.d/mysql status或者netstat -a | grep mysql
由于处理init.d目录下,mysql服务器是开机启动的
2010年8月28日星期六
jstl 替换回车换行
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%request.setAttribute("vEnter", "\r\n");%>
${fn:replace(i.scope,vEnter,"<br>")}
jstl下载:https://jstl.dev.java.net/download.html
参考:http://blog.163.com/chenjie_8392/blog/static/439339842010513128139/
2010年8月19日星期四
ubuntu软件安装中途取消
spring@spring-ubuntu:~$ sudo apt-get remove
E: dpkg 的操作被中断了, 您必须手动执行 'sudo dpkg --configure -a' 以修复这个问题。
spring@spring-ubuntu:~$ sudo dpkg --configure -a
正在设置 java-common (0.34) ...
正在处理用于 man-db 的触发器...
正在处理用于 doc-base 的触发器...
Processing 2 added doc-base file(s)...
Registering documents with scrollkeeper...
ubuntu 配置环境变量
$ sudo gedit /etc/profile
在文件最后添加
#set java environment
IntelliJ Idea启动将JAVA_HOME命名为"IDEA_JDK" 或"JDK_HOME",所以需在/etc/profile中添加JDK_HOME设置,更改后的/etc/profile为:
JAVA_HOME=/usr/local/lib/jdk1.6.0_21
JDK_HOME=/usr/local/lib/jdk1.6.0_21
JRE_HOME=/usr/local/lib/jdk1.6.0_21/jre
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export JAVA_HOME JDK_HOME JRE_HOME CLASSPATH
ubuntu 安装软件中途退出后不能再安装解决办法
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
spring@spring-ubuntu:~$ sudo rm /var/cache/apt/archives/lock
spring@spring-ubuntu:~$ sudo rm /var/lib/dpkg/lock
参考:http://hi.baidu.com/kamong8956/blog/item/2bea127782def717b151b925.htm
Linux 命令
sudo passwd root
sudo 获取root权
解压tar.gz
sudo tar -xvzf *.tar.gz
复制文件
sudo cp 源文件 目标文件目录
CP命令
格式: CP [选项] 源文件或目录 目的文件或目录
选项说明:-b 同名,备分原来的文件
-f 强制覆盖同名文件
-r 按递归方式保留原目录结构复制文件
复制文件夹
cp -r 文件夹 文件夹
删除文件
sudo rm 文件名
2010年8月14日星期六
2010年7月30日星期五
jquery validate自带验证
validate自带的默认验证
required: "必选字段",
remote: "请修正该字段",
email: "请输入正确格式的电子邮件",
url: "请输入合法的网址",
date: "请输入合法的日期",
dateISO: "请输入合法的日期 (ISO).",
number: "请输入合法的数字",
digits: "只能输入整数",
creditcard: "请输入合法的信用卡号",
equalTo: "请再次输入相同的值",
accept: "请输入拥有合法后缀名的字符串",
maxlength: jQuery.format("请输入一个长度最多是 {0} 的字符串"),
minlength: jQuery.format("请输入一个长度最少是 {0} 的字符串"),
rangelength: jQuery.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),
range: jQuery.format("请输入一个介于 {0} 和 {1} 之间的值"),
max: jQuery.format("请输入一个最大为 {0} 的值"),
min: jQuery.format("请输入一个最小为 {0} 的值")
2010年7月26日星期一
javascript 动态创建function
for(var i = 0;i < selectedArrayLength;i++){
var fun = new Function("data","return data["+i+"]");
cellfuncs = cellfuncs.concat(fun);
}
2010年7月9日星期五
java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
99%递归没有出口,查吧
2010年6月30日星期三
用dom4j生成xml
01 import java.io.File;
02 import java.io.FileOutputStream;
03 import java.io.IOException;
04
05 import org.dom4j.Document;
06 import org.dom4j.DocumentHelper;
07 import org.dom4j.Element;
08 import org.dom4j.io.OutputFormat;
09 import org.dom4j.io.XMLWriter;
10
11
12 public class SoaToXML {
13
14
15 public static void execute(int userType,int bianhao){
16 Document document = DocumentHelper.createDocument();
17 document.setXMLEncoding("utf-8");
18 Element root = document.addElement("condition");
19 root.addElement("type").setText(String.valueOf(userType));
20 root.addElement("bianhao").setText(String.valueOf(bianhao));
21 String text = document.asXML();
22 printTest(text);
23 String path="soa_to_xml.xml";
24 if(writeFile(document, path)){
25 printTest("生成xml成功");
26 }else{
27 printTest("生成xml出错");
28 }
29 }
30 public static boolean writeFile(Document document, String fileName) {
31 try {
32
33 if (fileName == null || fileName.trim().equals("")) {
34 return false;
35 }
36 String path = "f:/" + fileName;
37
38 OutputFormat format = OutputFormat.createPrettyPrint();
39 XMLWriter output = new XMLWriter(new FileOutputStream(
40 new File(path)), format);
41
42
43 output.write(document);
44 output.close();
45 return true;
46 } catch (IOException e) {
47 e.printStackTrace();
48
49 return false;
50 }
51 }
52 public static void printTest(String content) {
53 System.out.println(content);
54
55 }
56 /**
57 * @param args
58 */
59 public static void main(String[] args) {
60 SoaToXML.execute(0, 1);
61
62 }
63
64 }
2010年6月11日星期五
java面试题
01 import java.util.*;
02 public class Test{
03 public static void main(String[] args){
04 new Child().m();
05 }
06 }
07 class Person{
08 public Person(){
09 System.out.println("Person");
10 m();
11 }
12 public void m(){
13 System.out.println("Person m");
14 }
15 }
16 class Child extends Person{
17 public Child(){
18 System.out.println("Child");
19 super.m();
20 }
21 public void m(){
22 System.out.println("Child m");
23 }
24 }
25
26 输出:
27 //Person
28 //Child m
29 //Child
30 //Person m
31 //Child m
知识点:构造方法调用顺序
方法重载
显式调用父类构造方法必须放在第一行
2010年6月10日星期四
jquery 验证所有text,textare非法字符
01 var $j = jQuery.noConflict();
02 //使用此方法验证所有text textarea 是否含有非法字符
03 $j(document).ready(function(){
04 $j("input[type='text']").each(function(i){
05 $j(this).keyup(function() { checkIllegalChar($j(this)); });
06 });
07 $j("textarea").each(function(i){
08 $j(this).keyup(function() { checkIllegalChar($j(this)); });
09 });
10 });
11
12
13
14 function checkIllegalChar(obj){
15 var value = obj.val();
16 if(!checkChar(value)){
17 obj.val(value.substring(0,value.length-1));
18 obj.focus();
19
20 }
21 }
22
23 //检查输入中的非法字符
24 function checkChar(InString) {
25 var RefString = "<";
26 var RefString2 = "%";
27 var RefString3 = "\"";
28 var RefString4 = ">";
29 var RefString5 = "~";
30 var RefString6 = "&";
31 var RefString7 = "?";
32 var RefString8 = "'";
33 for (Count = 0; Count < InString.length; Count++) {
34 TempChar = InString.substring(Count, Count + 1);
35 if ((RefString.indexOf(TempChar, 0) == 0) || (RefString2.indexOf(TempChar, 0) == 0) || (RefString3.indexOf(TempChar, 0) == 0) || (RefString4.indexOf(TempChar, 0) == 0) || (RefString5.indexOf(TempChar, 0) == 0) || (RefString6.indexOf(TempChar, 0) == 0) || (RefString7.indexOf(TempChar, 0) == 0) || (RefString8.indexOf(TempChar, 0) == 0)) {
36 alert("您的输入中含有非法字符\"<\",\"\"\",\"%\",\"> \",\"~\",\"&\",\"?\",\"'\",请重新输入!");
37 return (false);
38 }
39 }
40 return (true);
41 }
2010年6月4日星期五
2010年5月18日星期二
GWT编译巨慢
Compiling 12 permutations
Compiling permutation 0...
Compiling permutation 1...
Compiling permutation 2...
Compiling permutation 3...
Compiling permutation 4...
Compiling permutation 5...
Compiling permutation 6...
Compiling permutation 7...
Compiling permutation 8...
Compiling permutation 9...
Compiling permutation 10...
Compiling permutation 11...
Compile of permutations succeeded
Linking into D:\spring\workspace\fusionchart\war\olap.
Link succeeded
Compilation succeeded -- 291.925s
在#.gwt.xml中添加支持Firefox
<!-- User Agent -->
<set-property name="user.agent" value="gecko1_8" />
编译的确变得很快,但IE中果真不好使
Should only call onDetach when the widget is attached to the browser's document
这个异常是在com.google.gwt.user.client.ui.Widget protected void onDetach() 方法抛出的
当页面重新加载或离开页面时会执行这个方法
如果系统没有正常初始化,会有这个异常
郁闷的是No errors in Dev Mode but Compiled localy and deployed to tomcat in errors