一、JavaBean就是放置在JSP服務器後臺的一個封裝了數據和方法的類。JSP通過JavaBean直接調用裏面的方法,實現操作的目的。
它的作用是,通常我們完成一比較大的項目的時候會有好多的程序員,美工呀,java編程人員,js編程人員呀,在一個頁面中,我們如果採用多個語言來編寫代碼的課,這樣代碼的友好性和易讀性就不強,而我們把JavaBean的動作運用上來,就可以完全的省下好多的代碼和而局
JavaBean中的標準動作有
1.<jsp:useBean>
2.<jsp:setProperty>
3.<jsp:getProperty>
4.<jsp:include>
5.<jsp:param>
6.<jsp:forward>
二、數據庫中的Statement和PrepareStatement的區別
首先:Preparestatement是繼承了Statement接口,在以前Oracle公司發現了Statement可以通過SQL注入查詢(select * from emp where empno = 7369 OR 1=1)的時候,就開始研發了Preparestatement工具類,
然後:Preparestatement有一個最大的好處就是他是一個容器,可以攜帶數據,當我們要執行批量插入的時候,我們通常用到的將是每設置一條語句就執行一次,而Preparestatement則可以通過先存放,再一次統一執行的方式,這樣用來插入可以節省至少一半的時間,而根據我們設置的值的大小,我們可以省更多的時間
代碼示例:
//對於select * from person pname=1;
select * from person pname=2;
對於statement 要對這二條語句解析2次,而對於preparestatement 則只執行一次。因爲它會把第一次解析的保存下來,判斷下面的是否相同.他保存的時間會有一個期限。而對statement則有好多次。
可以產生SQL注入(injection)對Statement 接口進行了改進成preparement select * from emp where empno=? or 1=1;
for(int i=1;i<=SIZE;i++){
Person person = list.get(i-1);
pst.setInt(1, person.getId());
pst.setString(2, person.getName());
pst.executeUpdate();
pst.addBatch();
if(i%acount==0){ //size/batchSize次運算
pst.executeBatch();
}
}
pst.executeBatch();//補交一次,爲了避免出現後面數量不足一千的時候出現的問題
conn.commit();
可以產生SQL注入(injection)對Statement 接口進行了改進成preparement select * from emp where empno=? or 1=1;
for(int i=1;i<=SIZE;i++){
Person person = list.get(i-1);
pst.setInt(1, person.getId());
pst.setString(2, person.getName());
pst.executeUpdate();
pst.addBatch();
if(i%acount==0){ //size/batchSize次運算
pst.executeBatch();
}
}
pst.executeBatch();//補交一次,爲了避免出現後面數量不足一千的時候出現的問題
conn.commit();
三、JavaScript中的If判斷
數值情況下只有0才爲假
對象的情況下,空爲假
字符串 都爲真
一些特殊的標識符爲假,如undetifine
(===)全等號
四、String在內存中的存放比較
String s1="ab" => String s2="a"+"b";
s1="a" => s2 = "a"
s1=new String("a")
s2=new String ("a")
s1!=s2;
String s1="ab" => String s2="a"+"b"+"";
s1="a" => s2 = "a"
s1=new String("a")
s2=new String ("a")
s1!=s2;
String s1="ab" => String s2="a"+"b"+"";
五、Oracle中暫時使主鍵失效的方法
alter table tab_name modify constraint constraint_name disable;
六、mysql的使用和連接方法
導入Mysql提供的驅動包。
public static void test(){
try {
//1、註冊驅動
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2、建立連接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc",
"root","vickyi");
//3、創建語句
Statement st = conn.createStatement();
//4、執行語句
ResultSet rs = st.executeQuery("select * from user");
//5、處理結果
while(rs.next()){
System.out.println("id:"+rs.getObject(1));
System.out.println("name:"+rs.getObject(2));
System.out.println("birthday:"+rs.getObject(3));
System.out.println("money:"+rs.getObject(4));
}
//6、釋放資源
rs.close();
st.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test();
}
}
try {
//1、註冊驅動
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2、建立連接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc",
"root","vickyi");
//3、創建語句
Statement st = conn.createStatement();
//4、執行語句
ResultSet rs = st.executeQuery("select * from user");
//5、處理結果
while(rs.next()){
System.out.println("id:"+rs.getObject(1));
System.out.println("name:"+rs.getObject(2));
System.out.println("birthday:"+rs.getObject(3));
System.out.println("money:"+rs.getObject(4));
}
//6、釋放資源
rs.close();
st.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test();
}
}