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

📄 recvservlet.java

📁 中国移动定位引擎的客户端
💻 JAVA
字号:
package ffcs.lbp.SagClient;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

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

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import ffcs.lbp.common.LeResult;
import ffcs.lbp.dao.RouteDAO;
import ffcs.lbp.le.LocPrefixIOProcess;
import ffcs.lbp.le.message.LocReport;
import ffcs.lbp.le.message.tlv.TLVTable;
import ffcs.lbp.le.message.tlv.Tag;



public class RecvServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;
	long lasting = System.currentTimeMillis(); 
	private String	 reqId	="";

	
	List<String> lt =new   ArrayList<String>(); 
	private String Address ="";// 手机号码   即MSISDN
	private String Latitude ="";// 纬度(横的)
	private String Longitude ="";// 经度
	private String Accuracy ="";// 精度
	private String Timestamp ="";// 用户位置报告的时间
	RouteDAO rtdao=new RouteDAO();
//    private static Log log = LogFactory.getLog(RecvServlet.class);
	public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		
   System.out.println("coming!!!!!!!!!!!");
	java.io.InputStream l_urlStream=request.getInputStream();
	try { 
		SAXReader reader = new SAXReader(); 
		Document doc = reader.read(l_urlStream) ;
		Element root = doc.getRootElement();
		
/*        System.out.println("getName() : " + root.getName());
        System.out.println("getNamespacePrefix() : " + root.getNamespacePrefix());
        System.out.println("getNamespaceURI() : " + root.getNamespaceURI());
        System.out.println("getNodeTypeName() : " + root.getNodeTypeName());
        System.out.println("getQualifiedName() : " + root.getQualifiedName());
        System.out.println("getStringValue() : " + root.getStringValue());
        System.out.println("getText() : " + root.getText());
        System.out.println("getTextTrim() : " + root.getTextTrim());
        System.out.println("getUniquePath() : " + root.getUniquePath());*/

		Element foo_body; 
		Element foo_loc_noti; 
		Element foo_data; 

		foo_body=root.element("Body");
		foo_loc_noti=foo_body.element("locationNotification");
		
		reqId=foo_loc_noti.elementText("Correlator");
		 System.out.println("Correlator:"+reqId);
		 LocReport leRpt;
		 TLVTable tlvt;
		if(foo_loc_noti.elementIterator("Data")!=null){
			 System.out.println("Data!!!!!!!!!!!");
			for (Iterator i = foo_loc_noti.elementIterator("Data"); i.hasNext();) { 
				System.out.println("in cyc!!!!!!!!!!!");
				foo_data = (Element) i.next(); 
	
			Address=foo_data.elementText("Address");
			Latitude=foo_data.elementText("Latitude");
			Longitude=foo_data.elementText("Longitude");
			Accuracy=foo_data.elementText("Accuracy");
			
			    System.out.println("Address : " + Address);
		        System.out.println("Latitude : " +Latitude);
		        System.out.println("Longitude : " + Longitude);
		        System.out.println("Accuracy : " + Accuracy);
		        
		        leRpt=new LocReport();
		        //查回程路由
		        int route_back=rtdao.routeBack(Address);
		        leRpt.setDstSystemID(route_back);
		        leRpt.setIsdn(Address);
		        leRpt.setRetType(LeResult.Shape);
		        leRpt.setShapeType(LeResult.Round);
		        tlvt=new TLVTable();
		        tlvt.set(Tag.ShapeDesc, Longitude+","+Latitude+","+Accuracy);
		        leRpt.setShapeDesc(tlvt);

			
			  //对象放入socket发送队列
		    	LocPrefixIOProcess  LcPrFCon=new LocPrefixIOProcess();
    			//调用IOProcess的发包操作
    			LcPrFCon.sendToLocInfoMgr(leRpt, route_back);
	    
//			log.trace("接收到ISAG发来的位置信息:"+ leRs.toString() );
//			log.trace("运行时间:" + (System.currentTimeMillis() - lasting) + " 毫秒"); 
					}// end cyc
		}else if(foo_body.elementIterator("Address")!=null){
				Address=foo_body.elementText("Address");
		    	int msgid=new Integer(foo_body.elementText("MessageId")).intValue();
				LeResult leErrRs=new LeResult(Address,LeResult.Error,msgid,
						foo_body.elementText("Text"));
//				log.trace("接收到ISAG发来的位置出错信息:"+ leErrRs.toString() );
//				log.trace("运行时间:" + (System.currentTimeMillis() - lasting) + " 毫秒");
		}
		
			} catch (Exception e) { 
			e.printStackTrace(); 
			} 
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		System.out.println("Get:coming!!!!!!!!!!!");
		doPost(request,response);
	}
	
	
}

⌨️ 快捷键说明

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