點(diǎn)擊注銷,跳轉(zhuǎn)到后臺(tái),去掉當(dāng)前用戶session,然后跳轉(zhuǎn)登錄界面。
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。
1.開戶2.銷戶3.存錢4.取錢5.查詢技術(shù)點(diǎn):TcpServer服務(wù)端TcpSocket客戶端多線程并發(fā)訪問數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)XML組織傳輸?shù)臄?shù)據(jù)
用jsp寫了一個(gè)注銷腳本logout.jsp如下:
%
session.removeValue("UserName");
session.removeValue("UserClass");
session.invalidate();
response.sendRedirect("index.jsp");
%
才3000個(gè)開戶 根本不需要多線程,如果你是直接使用JDBC連接數(shù)據(jù)庫,使用JDBC批量入庫,秒秒鐘的事情
,給你個(gè)小例子
package?realnet.jdbc;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.PreparedStatement;
import?java.sql.SQLException;
public?class?JdbcInsert4MysqlDemo?{
//?批量操作參數(shù)?rewriteBatchedStatements=true
private?static?String?url?=?"jdbc:mysql://192.168.8.110:3306/demo?rewriteBatchedStatements=true";
private?static?String?user?=?"root";
private?static?String?password?=?"123456";
private?static?String?driver?=?"com.mysql.jdbc.Driver";
/**
*?@param?args
*/
public?static?void?main(String[]?args)?{
JdbcInsert4MysqlDemo?handler?=?new?JdbcInsert4MysqlDemo();
//?handler.testMysqlInsert();
handler.testMysqlBatchInsert();
}
/**
*?testMysqlBatchInsert
*/
public?void?testMysqlBatchInsert()?{
long?startTime?=?System.currentTimeMillis();
Connection?conn?=?null;
PreparedStatement?pstmt?=?null;
String?sql?=?"insert?into?TB_TEST(NAME)values(?)";
int?batchNum?=?1000;
try?{
Class.forName(driver);
conn?=?DriverManager.getConnection(url,?user,?password);
conn.setAutoCommit(false);
pstmt?=?conn.prepareStatement(sql);
for?(int?i?=?1;?i?=?100000;?i++)?{
pstmt.setString(1,?"test_"?+?i);
pstmt.addBatch();
if?(i?%?batchNum?==?0)?{
pstmt.executeBatch();
conn.commit();
}
}
pstmt.executeBatch();
conn.commit();
System.out.println("mysql?批量插入數(shù)據(jù):100000?用時(shí)(/ms):"
+?(System.currentTimeMillis()?-?startTime));
}?catch?(Exception?e)?{
e.printStackTrace();
}?finally?{
try?{
if?(null?!=?pstmt)?{
pstmt.close();
}
}?catch?(SQLException?e)?{
e.printStackTrace();
}
try?{
if?(null?!=?conn)?{
conn.close();
}
}?catch?(SQLException?e)?{
e.printStackTrace();
}
}
}
/**
*?testMysqlInsert
*/
public?void?testMysqlInsert()?{
long?startTime?=?System.currentTimeMillis();
Connection?conn?=?null;
PreparedStatement?pstmt?=?null;
String?sql?=?"insert?into?TB_TEST(NAME)values(?)";
try?{
Class.forName(driver);
conn?=?DriverManager.getConnection(url,?user,?password);
conn.setAutoCommit(false);
pstmt?=?conn.prepareStatement(sql);
for?(int?i?=?1;?i?=?100000;?i++)?{
pstmt.setString(1,?"test_"?+?i);
pstmt.execute();
}
conn.commit();
System.out.println("mysql?普通插入數(shù)據(jù):100000?用時(shí)(/ms):"
+?(System.currentTimeMillis()?-?startTime));
}?catch?(Exception?e)?{
e.printStackTrace();
}?finally?{
try?{
if?(null?!=?pstmt)?{
pstmt.close();
}
}?catch?(SQLException?e)?{
e.printStackTrace();
}
try?{
if?(null?!=?conn)?{
conn.close();
}
}?catch?(SQLException?e)?{
e.printStackTrace();
}
}
}
}