?? mobilequerysms.java
字號:
package cn.netjava.feeserver.queryservlet;
import java.sql.*;
import cn.netjava.feeserver.servletcontainer.*;
/**
* 移動短信費用查詢模塊:實現對移動短信費的查詢
* 計費查詢服務器
* @author www.NetJava.cn
*/
public class MobileQuerySMS extends NetJavaServletInterface {
/**
* 處理客戶端的請求,并返加應答結果,抽象方法,子類必須實現。
* @param request:請求對象
* @param response:應答對象
*/
public void service(Request request,Response response){
try{
//服務器配置用戶名
String myUserName= this.getInitParameter("userName").trim();
String dataSourceName=this.getInitParameter("dataSourceName");
//客戶端請求用戶名
String clentUsername =request.getParameter("userName").trim();
String mobile=request.getParameter("mobile");
String sql="SELECT * FROM mobile_fee_bak where mobile='"+mobile+"'";
Connection conn =this.getDataSource(dataSourceName);
java.sql.Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery(sql);
int fee=0;
if(rst.next()){
Thread.sleep(10000);
fee=rst.getInt("info_fee") ;
}
conn.close();//放入池中
String msg="手機號碼: "+mobile+" 至現在的短信費是: "+fee+"元";
// if( clentUsername.equals(myUserName)){
// msg+="\n 您的用戶名正確";
// }else{
// msg+="\n 您的用戶名不正確.................."+myUserName+" "+clentUsername;
// }
response.setContent(msg);
}catch(Exception ef){
LogManager.error("MobileQuerySMS error: "+ef);
}
}
//for test
public static void main(String args[])throws Exception{
String sql="SELECT * FROM mobile_fee_bak";
MobileQuerySMS mqs=new MobileQuerySMS();
mqs.operDB(sql);
}
/**
* 執行sql語句
* @param sql
*/
public void operDB(String sql) throws Exception{
LogManager.info(" conn db .......");
long start=System.currentTimeMillis();
Connection conn =this.getDataSource("MySqlNetJavaDBPool");
long conok=System.currentTimeMillis();
LogManager.info("1 conn db .......:"+(conok-start));
start=System.currentTimeMillis();
conn =this.getDataSource("MySqlNetJavaDBPool");
conok=System.currentTimeMillis();
LogManager.info("2 conn db .......:"+(conok-start));
start=System.currentTimeMillis();
conn =this.getDataSource("MySqlNetJavaDBPool");
conok=System.currentTimeMillis();
LogManager.info("3 conn db .......:"+(conok-start));
try{
java.sql.Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery(sql);
java.sql.ResultSetMetaData rsm=rst.getMetaData();
//有多少列
int counmCounts=rsm.getColumnCount();
for(int i=1;i<=counmCounts;i++ ){
//打印出所有列名
System.out.print("\t"+rsm.getColumnName(i));
}
//打印出所有的數據:........
while(rst.next()){
System.out.println();
for(int i=1;i<=counmCounts;i++ ){
//打印出所有列名
System.out.print("\t"+rst.getString(i));
}
}
conok=System.currentTimeMillis();
System.out.println();
LogManager.info(" query db .......:"+(conok-start));
}catch(Exception ef){
LogManager.error("operDB error: sql"+sql+" "+ef);
}
////////////////////注意..........
finally{
try{
conn.close();
}catch(Exception ef){}
}
}
///**
// * 連結數據庫
// * @param driveName
// * @param dbURL
// * @param useerName
// * @param pwd
// * @return
// */
//public Connection getConneciton(String driveName,String dbURL,String useerName,String pwd){
// try{
//
// //到classpath中查找驅動類:
// Class.forName(driveName);
// conn=java.sql.DriverManager.getConnection(dbURL, useerName, pwd);
// return conn;
// }catch(Exception ef){
// LogManager.error("conn to db error: "+ef);
// }
// return null;
//}
//
// private static Connection conn=null;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -