⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generategreetingcardservlet.java

📁 greetingcard是手机贺卡的制作软件。小程序
💻 JAVA
字号:
package com.igm.ig3.greetingcard.servlet;

import java.io.File;
import java.io.RandomAccessFile;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.apic.ig3.common.CommonResponse;
import com.apic.ig3.common.DataConnect;
import com.apic.ig3.common.ErrorCode;
import com.apic.ig3.common.InitialCheck;
import com.apic.ig3.common.OutboundSMS;
import com.apic.ig3.common.SessionID;
import com.apic.ig3.util.ApicUtil;
import com.igm.ig3.greetingcard.common.IGCConfig;

/**
 * A Main HTTP servlet that handle
 * Generation of Greeting Cards Session
 *
 * @author	Tung
 *
 * @version 1.0.0
 */
public class GenerateGreetingCardServlet extends HttpServlet {
	

	/**
	 * String represent the class name
	 */
	private final static String CLASSNAME = "GenerateGreetingCardServlet";
	
	
    /**
     * Handles the HTTP GET requests from the download client. 
     *
     * @param  request             Provides request information for HTTP 
     *                             servlets.
     * @param  response            Provides HTTP-specific functionality in 
     *                             sending a response.
     *
     * @throws ServletException    Defines a general exception a servlet can 
     *                             throw when it encounters difficulty.
     */	
	public void doGet(HttpServletRequest request, HttpServletResponse response) 
	throws ServletException 
	{
			doPost(request, response);
	}

	
    /**
     * Handles the HTTP POST requests from the download client. 
     *
     * @param  request             Provides request information for HTTP 
     *                             servlets.
     * @param  response            Provides HTTP-specific functionality in 
     *                             sending a response.
     *
     * @throws ServletException    Defines a general exception a servlet can 
     *                             throw when it encounters difficulty.
     */	
	public void doPost(HttpServletRequest request,
                   HttpServletResponse response) throws ServletException 
    {
	    String nickname = "";
	    String password = "";
	    String mo = "";
	    String mt = "";
	    String mccmnc = "";
	    String uid = "";
	    String msg = "";
	    String cburl = "";
	    String mode = "";
	    String rspmode = "";
	    
	    String midletName = "";
	    String imgID1 = "";
	    String imgID2 = "";
	    String imgID3 = "";
	    String polyID = "";
	    
	    String svcmsgURL = "";
	    String svcmsgTitle = "";
	    String pdu = "";
	    
	    CommonResponse httpResponse = null;
		
		try
		{
		    nickname = request.getParameter("nick");
		    password = request.getParameter("pass");
		    mo = request.getParameter("mo");
		    mt = request.getParameter("mt");
		    mccmnc = request.getParameter("mccmnc");
		    uid = request.getParameter("uid");
		    msg = request.getParameter("msg");
		    cburl = request.getParameter("cburl");
		    mode = request.getParameter("mode");
		    rspmode = request.getParameter("rspmode");
		    svcmsgTitle = request.getParameter("title"); //Added by Tung 17/4/2007
		    
		    
		    /*doLog("[GenerateGreetingCardServlet] - Debug Param");
		    doLog("[GenerateGreetingCardServlet] - nickname = " + nickname);
		    doLog("[GenerateGreetingCardServlet] - password = " + password);
		    doLog("[GenerateGreetingCardServlet] - mo = " + mo);
		    doLog("[GenerateGreetingCardServlet] - mt = " + mt);
		    doLog("[GenerateGreetingCardServlet] - mccmnc = " + mccmnc);
		    doLog("[GenerateGreetingCardServlet] - uid = " + uid);
		    doLog("[GenerateGreetingCardServlet] - msg = " + msg);
		    doLog("[GenerateGreetingCardServlet] - cburl = " + cburl);
		    doLog("[GenerateGreetingCardServlet] - mode = " + mode);
		    doLog("[GenerateGreetingCardServlet] - rspmode = " + rspmode);*/
		    doLog("[GenerateGreetingCardServlet] - nickname = " + nickname
		    + ", password = " + password
		    + ", mo = " + mo
		    + ",  mt = " + mt
		    + ", mccmnc = " + mccmnc
		    + ", uid = " + uid
		    + ", msg = " + msg
		    + ", cburl = " + cburl
		    + ", mode = " + mode
		    + ", rspmode = " + rspmode);
		    
		    // setup response method
		    httpResponse = new CommonResponse(response, rspmode);

		    if(mo == null || mo.length() == 0)
		    {
		      mo = nickname;
		    }
		    if(msg == null)
		    {
		      msg = "";
		    }
		    if(cburl == null)
		    {
		      cburl = "";
		    }
		    if(rspmode == null)
		    {
		      rspmode = "text/html";
		    }

		    //doLog("[GenerateGreetingCardServlet] - Verify mandatory param");
		    if(nickname == null || password == null || mt == null ||
		      mccmnc == null || uid == null || mode == null) 
		    {
		    	httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_PARAM));
			    doLog("[GenerateGreetingCardServlet] - Error Param");
			    return;
		    }
		    
		    
		    //doLog("[GenerateGreetingCardServlet] - InitialCheck Started");
		    // this will authenticate user, check is credit is enough
		    // and validate mobile number
		    InitialCheck check = new InitialCheck();
		    int code = check.check(nickname, password, mt, mccmnc, "IGC");
		    if(code != ErrorCode.ERR_NONE) 
		    {
		    	httpResponse.response(ErrorCode.getHttpErrorMessage(code));
			    doLog("[GenerateGreetingCardServlet] - InitialCheck Error");
			    return;
		    }
		    //doLog("[GenerateGreetingCardServlet] - InitialCheck Done");
		    
		    //doLog("[GenerateGreetingCardServlet] - DataConnect GetConnection");
		    DataConnect dc = new DataConnect();
		    String[] fields = {"img1_id","img2_id","img3_id","poly_id","midlet_name"};
		    doLog("[GenerateGreetingCardServlet] - DataConnect Start Query");
		    String[] result = dc.querySQL("select * from tblgreetingcard where id ="+uid, fields);
		    doLog("[GenerateGreetingCardServlet] - DataConnect End Query");
		    dc.close();

		    /*if(result != null)
		    {
		    	doLog("[GenerateGreetingCardServlet] - Result Size = "+ result.length);
		    	doLog("[GenerateGreetingCardServlet] - Result Data = "+ result.toString());
		    }*/
		    
		    if(result != null && result.length == 5)
		    {
			    imgID1 = result[0];
			    imgID2 = result[1];
			    imgID3 = result[2];
			    polyID = result[3];
			    midletName = result[4];
			    doLog("[GenerateGreetingCardServlet] - Result imgID1 = "+imgID1
			    		+ ", imgID2 = "+imgID2
			    		+ ", imgID3 = "+imgID3
			    		+ ", polyID = "+polyID
			    		+ ", midletName = "+midletName);    
		    }
		    else
		    {
	    		httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM));
	    		doLog("[GenerateGreetingCardServlet] - No result");
			    return;
		    }
		    
		    
		    if(midletName==null || midletName.length() == 0) 
		    {
		    	httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_CONTENT));
		    	doLog("[GenerateGreetingCardServlet] - Error Content");
		    	return;
		    }
		    
		    
		    // create the session file for refrence when phone do getimk
		    //doLog("[GenerateGreetingCardServlet] - Init Session");
		    SessionID sessionID = new SessionID(mt);
		    //doLog("[GenerateGreetingCardServlet] - Init Session Done");
		    String session = sessionID.next(12);
		    //doLog("[GenerateGreetingCardServlet] - Session = " + session);
		    
		    if(!makeSession(session, nickname, mo, mt, uid, msg, cburl, imgID1, imgID2, imgID3, polyID, mccmnc, midletName)) 
		    {
		    	httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM));
		    	doLog("[GenerateGreetingCardServlet] - Failed to create session");
		    	return;
		    }
		    doLog("[GenerateGreetingCardServlet] - Session Created");

		    // queue sevice message to iguana outbound server
		    svcmsgURL = IGCConfig.downloadURL + "?S=" + session;
		    /*if(mo.equals(mt))
		    {
		    	svcmsgTitle = midletName + " Greeting Card download";
		    }
		    else
		    {
		    	svcmsgTitle = midletName + " Greeting Card dedicated from " + mo;
		    }*/
		    
		    doLog("[GenerateGreetingCardServlet] - Create Outbound SMS");
		    OutboundSMS outsms = new OutboundSMS(nickname, mt, mccmnc);

		    if(mode.equals("sendsms")) 
		    {
		    	if(outsms.queueServiceMessage(svcmsgTitle, svcmsgURL) != 0) 
		    	{
		    		httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM));
		    		return;
		    	} 
		    } 
		    else if(mode.equals("getpdu")) 
		    {
		    	doLog("[GenerateGreetingCardServlet] - Get PDU");
		    	pdu = "&PDU=" + outsms.serviceMessagePDU(svcmsgTitle, svcmsgURL);
		    	doLog("[GenerateGreetingCardServlet] - Get PDU Done = "+pdu);
		    } 
		    else 
		    {
		    	httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_PARAM));
		    	doLog("[GenerateGreetingCardServlet] - Error Param");
		    	return;
		    }

		    httpResponse.response(ErrorCode.getHttpErrorMessage(ErrorCode.ERR_NONE)+pdu);
		    
		}
		catch (Exception exception)
		{
			StackTraceElement[] trace = exception.getStackTrace(); 

			for (int i=0; i < trace.length; i++) 
			{
				doLog(trace[i].toString());
			}
			
			doLog("Exception : "+exception.getMessage());
	    	httpResponse.response(
	    			 ErrorCode.getHttpErrorMessage(ErrorCode.ERR_SYSTEM) + " : Exception :" +exception.getMessage());
		}
    }
	
	
	/**
	 * Make session file in tmp folder
	 * @param session
	 * @param nickname
	 * @param mo
	 * @param mt
	 * @param uid
	 * @param msg
	 * @param cburl
	 * @param imgID1
	 * @param imgID2
	 * @param imgID3
	 * @param polyID
	 * @param mccmnc
	 * @param midletname
	 * @return
	 */
	private boolean makeSession(String session, String nickname, String mo,
			    String mt, String uid, String msg, String cburl, String imgID1, String imgID2, String imgID3, String polyID, String mccmnc, String midletname) 
	{
		try 
		{
			String fname = IGCConfig.tmpHome + session + IGCConfig.sessionExt;
		    RandomAccessFile f = new RandomAccessFile(fname, "rw");
			f.writeBytes("nick:" + nickname + "\n");
			f.writeBytes("mo:" + mo + "\n");
			f.writeBytes("mt:" +mt + "\n");
			f.writeBytes("uid:" + uid + "\n");
			f.writeBytes("imgid1:" + imgID1 + "\n");
			f.writeBytes("imgid2:" + imgID2 + "\n");
			f.writeBytes("imgid3:" + imgID3 + "\n");
			f.writeBytes("polyid:" + polyID + "\n");
			f.writeBytes("midletname:" + midletname + "\n");
			f.writeBytes("mccmnc:" + mccmnc + "\n");
			f.writeBytes("msg:" + msg + "\n");
			f.writeBytes("cburl:" + cburl + "\n");
			f.writeBytes("hit:0\n");
			f.close();
			if(new File(fname).length() > 0) 
			{
				doLog("mo:"+mo+",mt:"+mt+",uid:"+uid+",imgid1:"+imgID1
						+",imgid2:"+imgID2+",imgid3:"+imgID3+",polyid:"+polyID
						+",midletname:"+midletname+",mccmnc:"+mccmnc+",msg:"+msg
						+",cburl:"+cburl);
			    return true;
			}
		} 
		catch(Exception e) 
		{
			doLog("makeSession EXCEPTION:" + e.toString());
		}
		return false;
	}
	
	/**
	 * Log msg into log file
	 * @param msg
	 */
	private void doLog(String msg) 
	{
		try 
		{
			RandomAccessFile f = new RandomAccessFile(IGCConfig.logFile+CLASSNAME+"_"+
		    ApicUtil.TimeStr("yyyyMMdd")+".log", "rw");
		    f.seek(f.length());
		    f.writeBytes(ApicUtil.TimeStr("[HH:mm:ss]") + msg + "\r\n\r\n");
		    f.close();
		} 
		catch(Exception e) 
		{}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -