String username1 = new String(request.getParameter("username1").getBytes("iso-8859-1"),"gbk");
String xuliehao = request.getParameter("xuliehao");
String DownLoadtp = null;
String strDBType=null;//数据库类型( 0:SQL Server , 1:Oracle )
String strDBClass=null;
String strDBDriver=null;
String strDBServerPort=null; //数据库服务器端口号
String strDBServerName=null; //数据库服务器地址
String strDBUserName=null; //登陆名
String strDBPassWord=null; //登陆密码
String strDBServiceName=null;//服务名,只Oracle用
String strDBDBName=null; //数据库名,只SQL Server用
String strDBURL=null; //数据库连接字
String path ="";
String strDownLoadNum = "";
String strAccountsNum = "";
String strSDBPack = "";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String strTokenSn = new String();
int nTokenType=0;
String sql ="";
try
{
path = "systemcfg.xml";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder bd = dbf.newDocumentBuilder();
Document doc=bd.parse(path);
doc.normalize();
Element root = doc.getDocumentElement();
NodeList datatype = root.getElementsByTagName("databasetype");//databasetype是xml的根元素;
if(datatype.getLength()==1)
{
Element element=(Element)datatype.item(0);
Text text=(Text)element.getFirstChild();
strDBType=text.getNodeValue();
}
NodeList database = root.getElementsByTagName("idzuesdatabase");
if(database.getLength()==1)
{
Element databaseE=(Element)database.item(0);
NodeList hostip=databaseE.getElementsByTagName("hostIP");
if(hostip.getLength()==1)
{
Element hostipE=(Element)hostip.item(0);
if(hostipE.hasChildNodes())
{
Text hostIPtext=(Text) hostipE.getFirstChild();
strDBServerName=hostIPtext.getNodeValue();
System.out.println(strDBServerName);
}
else
{
strDBServerName = "";
}
}
NodeList databasename=databaseE.getElementsByTagName("databasename");
if(databasename.getLength()==1)
{
Element databasenameE=(Element)databasename.item(0);
if(databasenameE.hasChildNodes()){
Text databasenametext=(Text)databasenameE.getFirstChild();
strDBDBName=databasenametext.getNodeValue();
System.out.println("strDBDBName:"+strDBDBName); }
else{
strDBDBName = "";
}
}
NodeList username=databaseE.getElementsByTagName("username");
if(username.getLength()==1)
{
Element usernameE=(Element)username.item(0);
if(usernameE.hasChildNodes()){
Text usernametext=(Text)usernameE.getFirstChild();
strDBUserName=usernametext.getNodeValue();
System.out.println("strDBUserName="+strDBUserName);
}
else{
strDBUserName = "";
}
}
NodeList password=databaseE.getElementsByTagName("password");
if(password.getLength()==1)
{
Element passwordE=(Element)password.item(0);
if(passwordE.hasChildNodes()){
Text passwordtext=(Text)passwordE.getFirstChild();
strDBPassWord=passwordtext.getNodeValue();
System.out.println("strDBPassWord="+strDBPassWord);
}
else{
strDBPassWord = "";
}
}
}
if(strDBType.equalsIgnoreCase("1"))
{
strDBURL="jdbc:microsoft:sqlserver://" + strDBServerName + ":1433;DatabaseName=" + strDBDBName;
strDBClass="com.microsoft.jdbc.sqlserver.SQLServerDriver";
System.out.println(strDBURL);
}
if(strDBType.equalsIgnoreCase("2"))
{
strDBURL="jdbc:oracle:thin:@"+strDBServerName+":1521:"+strDBDBName;
strDBClass="oracle.jdbc.driver.OracleDriver";
}
Class.forName(strDBClass);
conn= DriverManager.getConnection(strDBURL,strDBUserName,strDBPassWord);
stmt = conn.createStatement();
sql = "select * from S_Token where accountnum = '";
sql += username1;
sql += "' and DOWNLOADNUM ='";
sql +=xuliehao;
sql +="'";
rs = stmt.executeQuery(sql);
boolean bFind = false;
while (rs.next())
{
bFind = true;
strTokenSn=rs.getString("TokenSn");
strSDBPack=rs.getString("SDBPACK");
strAccountsNum = new String(rs.getString("ACCOUNTNUM").getBytes("iso-8859-1"),"gbk");
}
if( bFind == true )
{
String strSN1 = new String();
String strSN2 = new String();
strSN1 = strSDBPack.substring(200,232);
strSN2 = strSDBPack.substring(232,248);
strSN2 += strSDBPack.substring(216,232);
String strSn="sea=s1sn"+strSN1+"s2sn"+strSN2+"tksn"+strTokenSn+"acno"+strAccountsNum+"CookieEnd";
Cookie userCookie = new Cookie("SeaUsezTnfoPossWard",strSn);
//Cookie userCookie = new Cookie("SeaUsezTnfoPossWard");
userCookie.setPath("/");
userCookie.setMaxAge(365*24*60);
response.addCookie(userCookie);
NodeList downloadtype = root.getElementsByTagName("downloadtype");
Element element=(Element)downloadtype.item(0);
Text text=(Text)element.getFirstChild();
DownLoadtp=text.getNodeValue();
if(DownLoadtp.equalsIgnoreCase("1"))
{
int i1 = (int)(java.lang.Math.random()*10);
int i2 = (int)(java.lang.Math.random()*10);
int i3 = (int)(java.lang.Math.random()*10);
int i4 = (int)(java.lang.Math.random()*10);
int i5 = (int)(java.lang.Math.random()*10);
int i6 = (int)(java.lang.Math.random()*10);
int i7 = (int)(java.lang.Math.random()*10);
int i8 = (int)(java.lang.Math.random()*10);
String downLoadNum1 = xuliehao.substring(0,4);
String downLoadNum2 = xuliehao.substring(12,16);
String downLoadNum3 = String.valueOf(i1)+String.valueOf(i2)+String.valueOf(i3)+String.valueOf(i4)+String.valueOf(i5)+String.valueOf(i6)+String.valueOf(i7)+String.valueOf(i8);
xuliehao = downLoadNum1 + downLoadNum3 + downLoadNum2 ;
sql = "Update S_TOKEN set downloadnum = '";
sql += xuliehao;
sql += "' where Accountnum = '";
sql += username1;
sql += "'";
int rows = stmt.executeUpdate(sql);
}