今天早上出來,發(fā)現自行車又沒氣了,我狂暈,這是怎么回事,剛換的新胎啊,瘋了,今天本來就吃來晚了,沒辦法,去坐公交吧,還好,車在還可以接受的時間里來了,上車,還好,人還不多,站了一會兒還有座了,還好,路上還不是很堵,看著那些亂加塞兒的小p車,真生氣,他一個加塞兒,讓后面的好多車以及車上我們這么多等車上班的人等他把塞兒加進去,素質,素質,還好,8點55分下了車,奔向電梯,"還好",等電梯的超人多,爬樓梯,狂喘著爬上了12層,打卡,看時間,還好,8點59分,接著喘...
花了半天的時間把上周沒完成的弄好了,學到javascript一招,哈哈,驗證用戶是否輸入的是數字,text/1==text,如果返回true說明是數字,否則不是數字,哈哈,妙哉。完成了去找頭兒,第一次休息呢,第二次不見了,嗚嗚。
臺灣達美公司招聘
以3.8婦女節(jié)為主題,設計一個產品展示。
產品圖用以下網站:
www.beautybank.com.cn
www.Delie.com.cn
www.crystalcosmetic.com
提交時需提交一張psd圖片和其靜態(tài)頁面。
上午沒什么事,下午一個什么CMMI的培訓,狂暈,差點沒睡著了,好多術語不知道是啥玩意兒,中途休息發(fā)現頭兒給發(fā)了個郵件要加個功能,好,哈哈,申請不去了,干活,呵呵,眼睛不帶眨的一直到下班,還有一點沒弄完,算了周一再弄吧,反正頭頭也沒催。
下午異常的緊張,因為說好周末要給家打電話的,家里總說為了我們他們怎么不愿意怎么委屈都沒事,可是,說這話的時候,兒女又是怎么想呢,我們長大了,是有孝的,聽著父母為了我們怎么樣而如何難受,心里也真得是難受啊。
缺少溝通...
昨天新員工培訓,"考試".好像又回到了大學上課,哦,不對,應該是中學,一個后來才知道是個總監(jiān)的家伙照著員工手冊念了半天,然后發(fā)試卷考試,呵呵,開卷,在員工手冊上找,哈哈,有點在學校里開卷考馬哲得意思,哈哈,然后總監(jiān)從名單上念名字讓其來回答每一題,真是無聊,感覺這個總監(jiān)去做某校某班的某班主任還挺合適的.
頭兒交給得活兒因為昨天培訓沒弄完,上午弄完了加了個頁面,在想一個問題,那些有類似word功能得編輯框是怎么弄得?
復習一下基礎知識,呵呵
java中switch的使用
關于java中switch使用的一些說明
switch(表達式)
{
case 常量表達式1:語句1;
....
case 常量表達式2:語句2;
default:語句;
}
default就是如果沒有符合的case就執(zhí)行它,default并不是必須的.
case后的語句可以不用大括號.
switch語句的判斷條件可以接受int,byte,char,short,不能接受其他類型.
一旦case匹配,就會順序執(zhí)行后面的程序代碼,而不管后面的case是否匹配,直到遇見break,利用這一特性可以讓好幾個case執(zhí)行同一語句.
==============Fucai.java====================
import java.util.Arrays;
public class Fucai {
private Integer[] redBall;
public Fucai()
{
redBall = new Integer[33];
for(int i = 0;i < 33;i++)
{
redBall[i] = i+1;
}
}
public int[] getRedBallArray()
{
int[] redBallArray = new int[6];
for(int i = 0;i < 6;i++)
{
int temp;
int index = (int)(Math.random()*(33-1-i));
redBallArray[i] = redBall[index];
temp = redBall[index];
redBall[index] = redBall[33-1-i];
redBall[33-1-i] = temp;
//System.out.println(index);
}
return redBallArray;
}
public int getBlueBall()
{
return (int)(Math.random()*(16));
}
public static void main(String[] args)
{
Fucai fucai = new Fucai();
int[] redBallArray = fucai.getRedBallArray();
Arrays.sort(redBallArray);
System.out.print("紅球:");
for(int i = 0;i < redBallArray.length;i++)
{
String numStr = redBallArray[i] + "";
if(redBallArray[i]<10)
numStr = "0" + redBallArray[i];
System.out.print(numStr+",");
}
System.out.print("籃球:"+ fucai.getBlueBall());
System.out.println();
System.out.println("祝你好運!!!");
}
}
================Fucai.cs===================
using System;
using System.Collections.Generic;
using System.Text;
namespace FucaiApp
{
class Fucai
{
private int[] redBall;
public Fucai()
{
redBall = new int[33];
for (int i = 0; i < 33; i++)
{
redBall[i] = i + 1;
}
}
public String[] getRedBallArray()
{
int[] redBallArray = new int[6];
for (int i = 0; i < 6; i++)
{
int temp;
int index = new System.Random().Next(33 - 1 - i);
redBallArray[i] = redBall[index];
temp = redBall[index];
redBall[index] = redBall[33 - 1 - i];
redBall[33 - 1 - i] = temp;
}
System.Array.Sort(redBallArray);
String[] redStr = new String[6];
for (int i = 0; i < redBallArray.Length; i++)
{
String numStr = redBallArray[i] + "";
if (redBallArray[i] < 10)
numStr = "0" + redBallArray[i];
redStr[i] = numStr;
}
return redStr;
}
public String getBlueBall()
{
int blue = new System.Random().Next(1,16);
if (blue < 10)
return "0" + blue.ToString();
else
return blue.ToString();
}
}
}

裝了個vs.net2005好些天了,今天做了個登錄頁面的練習,搗鼓了半天,又問人又查幫助的,呵呵,
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_Click(object sender, EventArgs e)
{
string userName = this.tbUserName.Text;
string pwd = this.tbPwd.Text;
string sql = "select * from tb_user where id='" + userName + "' and passwd='" + pwd + "'";
String url = ConfigurationManager.ConnectionStrings["csConnectionString"].ConnectionString;
DataSet dataSet = new DataSet("user");
using (SqlConnection connection = new SqlConnection(url))
{
connection.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, connection);
da.Fill(dataSet);
connection.Close();
}
if (dataSet.Tables[0].Rows.Count > 0)
{
Response.Write("<script>alert('login success');</script>");
}
else
{
Response.Write("<script>alert('login failed');</script>");
}
}
}
.net中數據適配器SqlDataAdapter 和數據集DataSet都不用關閉么?java中jdbc的Statement和ResultSet可都是要關的
終于搗鼓出來了
今幫一朋友做了個讀取txt文件的代碼,掌握不扎實啊,寫這些還要多次查api幫助文檔,呵呵呵
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test
{
public String readFile(String file)
{
String doc = null;
StringBuffer fileText = new StringBuffer();
FileInputStream infile;
try {
infile = new FileInputStream(file);
InputStreamReader in = new InputStreamReader(infile);
java.io.BufferedReader reader =new java.io.BufferedReader(in);
while((doc=reader.readLine()) !=null)
{
if(!doc.equals("") && !doc.substring(0,1).equals("#"))
fileText.append(doc+"\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch(IOException ie)
{
ie.printStackTrace();
}
return fileText.toString();
}
public static void main(String[] args)
{
String fileText = new Test().readFile("C://1.txt");
System.out.println("fileText:\n");
System.out.println(fileText);
}
}
1.txt文件
#Line1
J2SE
#cOMMENTS
J2EE
J2ME
輸出
J2SE
J2EE
J2ME
從周五就開始搗鼓書生表單,今天有搗鼓了一天,想弄個練習出來,就是沒出來,
呵呵呵
總結一下遇到的異常
java.lang.IllegalArgumentException: Document base C:\Tomcat 5.5\webapps\應用名 does not exist or is not a readable directory
這樣的錯誤應在是在tomcat的Tomcat 5.5\conf\Catalina\localhost目錄下配置的針對該應用的連接池的xml文件,而在webapps中沒有這個應用
org.apache.commons.configuration用來讀取配置文件的jar包commons-configuration-1.1.jar
Castor是一種將Java對象和XML自動綁定的開源軟件. 它可以在Java對象,XML文本,SQL數據表以及LDAP目錄之間綁定.castor-0.9.5.jar
org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
安裝字面意思是沒有設置方言
<property name="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
org.hibernate.HibernateException: No CurrentSessionContext configured
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
tomcat不加,要在程序里寫
總結一點錯誤,從google的搜索歷史里摘出來的,呵呵,初感覺到搜索歷史還是有用的哦
。
培訓,今天講了一些潤乾的api,哈哈,看出了一個用了命令模式,呵呵,感覺有點像.net里的一些名詞,開發(fā)的工程師是不是以前搞.net的?!哈哈,下午老師把我講的睡了又睡,結果旁邊的同事忍不住了,哈哈,大家都出來了。
終于結束了兩天的培訓,坐公車真難受,讓我納悶的是兩次回來坐的656空調車都刷了我4毛錢,而去坐的656不是空調車卻刷了我6毛,難道空調車還要便宜一些?!哈哈,路上有人下車還說,坐這樣的車真舒服。
明天
今天比較幸運,到了公司開始下雨了,呵呵,本打算坐公交的,想想公交那么擠又堵,還是騎車吧,就不信就這么倒霉半道上還下起來,哈哈,這次決策成功。
裝了個vs.net2005,一年沒弄過了,好陌生啊,好像跟2003還是有區(qū)別的,竟然找不到后臺代碼,郁悶。
培訓
一大早跑去培訓,中間堵車,堵死我了,一動不動,還好,才遲到了幾分鐘,中吃麗華快餐,基本知道了這個報表是怎么鬧出來的了。
生憋,費勁,不寫了。
a 14:12:16
啥叫泛型 聽以前老師說過
b 14:11:48
List里面能裝什么類型?
a 14:13:07
一個集合啊
b 14:14:56
是 ,集合里面可以裝Object,Object是所有類的基類,所以可以往里裝熱河類型,你可以第一個元素裝一個String,而第二個就放Integer,這是沒問題的,而如果寫成List<String> list = new ArrayList<String>();你就只能往list裝入String,裝入別的編譯不過
a 14:17:09
是不是 泛型 的作用 就是要向 List里放一組 不同類型的數啊?
b 14:18:55
泛型就是一個限制作用,減少程序的錯誤,還可以提高性能,就好比你有個箱子,以前亂七八糟任何東西都可以放,現在你把他專門來裝一種東西了
b 14:22:11
比如你傳給我了個List參數,我從里面取值的時候,我不知道你里面放的什么,你告訴我放的String,我就按String做轉換,而如果你偏偏有一個放了Integer,將來我這邊就會報錯,如果你用了泛型,你如果往里裝Integer編譯時就會報錯,減少了運行錯誤,而我取出來的時候也不用轉換了直接就是String ,提高了性能
a 14:23:58
明白了
今天,該hezhi和junzhuan的錯誤,總算是改完了
其中一個有趣的問題,就是用戶要輸入趨于2000個漢字,漢字啊,據說utf8編碼一個漢字要3個字符,我說報的錯誤說我的字符數跟我輸入的漢字數怎么也對不上關系呢,郁悶了我老半天
用的是oracle數據庫
用普通的方法行不通
PreparedStatement pst = conn.prepareStatement("insert into table(name,book) values(?,?)");
pst.setString(1, "spring");
pst.setString(2,s);
pst.execute();
這么寫報錯: java.sql.SQLException: 數據大小超出此類型的最大值: 5606
5606是oracle判斷的字符數
在網上查了以下,有高手說可能是oracle jdbc實現setString方法的原因
用字符流插入就行了
PreparedStatement pst = conn.prepareStatement("insert into table(name,book) values(?,?)");
pst.setString(1, "spring");
pst.setCharacterStream(2, new InputStreamReader(new ByteArrayInputStream(s.getBytes())), s.length());
pst.execute();
這樣可以正常插入。
高興...
可是好景不長,修改也用如此方法改之,記過又報錯: java.sql.SQLException: ORA-01483: DATE 或 NUMBER 賦值變量的長度無效
我暈,在我本地機子上tomcat環(huán)境下運行是沒有這種錯誤的,而部署到服務器上,服務器上是weblogic,就報這樣的錯誤,修改失敗,而 insert就沒有錯誤,而且如果修改字符數較小的就能修改成功,如果修改較大的就會報錯,之后不管修改什么樣的,都會報錯,鬧鬼了,納悶了,這是什么錯 誤啊,接著在網上查,高手建議把一個字符拆成兩個代入
改成下面這樣子
int length=book.length();
String s1="";
String s2="";
if(length>1000){
s1=book.substring(0,1000);
s2=book.substring(1000,length);
}else{
s1=book;
}
pstmt = conn.prepareStatement("update table set book=?||? "+
"where name=?");
pstmt.setString(1, s1);
pstmt.setString(2, s2);
pstmt.setInt(3, “spring”);
結果就成功了,嘿嘿,原來還有這種方法,這是oracle特有的么?呵呵對oracle不熟悉
而讓人納悶的是為什么在我的tomact下就沒有這種錯誤呢,而insert的時候也沒有錯誤啊。納悶
昨天,昨天晚上回去不想寫日志就沒上來,一天半,基本上把junzhuan的四個頁面的功能弄出來了,這都是自己寫的,比hezhi改別人的東西順唐多了,哈哈
研究了一下oracle的分頁,早就聽說oracle可以支持分頁的查詢,而sqlserver好像就沒有這種功能,但一直也不知道oracle是怎么分頁的,這次的做的這個功能有機會看到老系統人家是怎么實現了,研究了研究終于明白了
原來oracle每個表都有一個偽字段rownum,所謂偽字段,我的理解就是不是用戶建的,也不用用戶維護,還有個偽字段
rowid。
rownum是oracle在查詢結果集的時候為每個記錄順序分配的,這樣我們可以利用他來實現分頁
但不能這樣寫select * from table where rownum > 1 and rownum < 5
因為已rownum做條件只能>0或者>負數
因為oracle在比較的時候,第一條記錄rownum=1,1>1不成立,丟棄,下一條記錄rownum=1,1>1不成立,以此類推,沒有符合條件的記錄
利用子查詢實現分頁
select * from (select rownum r,td.* from (select * from table) td) where r > 10 and r < 20
在這里rownum變成了一個結果集中的字段,根普通字段沒什么兩樣,這樣我們只要傳入起至記錄就可以分頁啦,哈哈
呵呵,原來oracle分頁是這么搞的,剛知道,嘿嘿,學習啦。