📄 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 + -