67,513
社区成员
发帖
与我相关
我的任务
分享
package com.gunxue.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//import com.xifan.db.DB;
import com.gunxue.pushHttp.PushTask;
import com.gunxueapi.test.ConnectionPool;
@SuppressWarnings("serial")
public class Push extends HttpServlet {
private static final Log log = LogFactory.getLog(Push.class);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
// 从url里得到得到用户名
String cpid = request.getParameter("name");
// 从url里得到密码
String cppwd = request.getParameter("password");
// 从url里得出电话
String mobile = request.getParameter("phone");
// 从url里得出内容
String msgcontent = request.getParameter("mtContent");
// 从URL里得到服务代码
String spnumber = request.getParameter("spnumber");
//取得当前时间
Date date = new Date();
DateFormat d2 = DateFormat.getDateTimeInstance();
String str2 = d2.format(date);
/*
* 服务器端
*/
try {
String SQL = "select cpid,cppwd from userinfo where count>0";
ConnectionPool pool = null;
pool = ConnectionPool.getInstance();
Connection conn = pool.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
while (rs.next()) {
String m5pwd=Push.Md5(rs.getString(2));
if (cpid != null && !cpid.equals("")) {
if (rs.getString(1).equals(cpid.trim())) {
if (cppwd != null && !cppwd.equals("")) {
if (m5pwd.equals(cppwd.trim())) {
if (mobile != null
&& !mobile.equals("")) {
if (msgcontent != null
&& !msgcontent.equals("")) {
String resp = PushTask.work(mobile.trim(),msgcontent.trim());
if (!resp.trim().equals("0")) {
SQL = "insert into pushcontent(cpid,mobile,content,spnumber,cpdatetime,flag) value('"
+ cpid.trim()
+ "','"
+ mobile.trim()
+ "','"
+ msgcontent.trim()
+ "','"
+ spnumber
+ "','"
+ str2
+ "',1)";
stmt.executeUpdate(SQL);
SQL = "update userinfo set count=count-1 where cpid='"
+ cpid.trim() + "'";
stmt.executeUpdate(SQL);
out.println("0");
}
else {
SQL = "insert into pushcontent(cpid,mobile,content,spnumber,cpdatetime,flag) value('"
+ cpid.trim()
+ "','"
+ mobile.trim()
+ "','"
+ msgcontent.trim()
+ "','"
+ spnumber
+ "','"
+ str2
+ "',0)";
stmt.executeUpdate(SQL);
out.println("007");
}
} else {
out.println("006");// 内容为空
}
} else {
out.println("005");// 号码为空
}
} else {
out.println("004");// 密码不正确
}
} else {
out.println("003");// 密码为空
}
} else {
out.print("002");// 用户名不存在
}
} else {
out.println("001");// 没有填写用户名
}
// log.info("["+ip+"]"+cpid+"/"+cppwd+"{"+mobile+"}"+msgcontent+"#"+spnumber+"#");
}
rs.close();
stmt.close();
pool.release(conn);
pool.closePool();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static String Md5(String m5pwd) {
String m5pw="";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(m5pwd.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
m5pw=buf.toString().substring(8, 24);
//System.out.println(m5pw);
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return m5pw;
}
}