// Path: src/org/hy/xsso/common/BaseResponse.java
// public class BaseResponse extends SerializableDef
// {
// 
//     private static final long serialVersionUID = -393692673433172315L;
//     
//     
//     
//     /** 响应代码 */
//     private String code;
//     
//     /** 响应消息 */
//     private String message;
//     
//     
//     
//     /**
//      * 获取：响应代码
//      */
//     public String getCode()
//     {
//         return code;
//     }
// 
//     
//     /**
//      * 获取：响应消息
//      */
//     public String getMessage()
//     {
//         return message;
//     }
// 
//     
//     /**
//      * 设置：响应代码
//      * 
//      * @param code 
//      */
//     public void setCode(String code)
//     {
//         this.code = code;
//     }
// 
//     
//     /**
//      * 设置：响应消息
//      * 
//      * @param message 
//      */
//     public void setMessage(String message)
//     {
//         this.message = message;
//     }
//     
// }
// 
// Path: src/org/hy/xsso/common/BaseServlet.java
// public class BaseServlet extends HttpServlet
// {
//     
//     private static final long serialVersionUID = 123638522879125889L;
//     
//     public static final String $Succeed = "200";
// 
//     
// 
//     /**
//      * 返回Json字符格式的结果
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2020-12-28
//      * @version     v1.0
//      *
//      * @param i_Data
//      * @return
//      * @throws Exception
//      */
//     protected String toReturn(Object i_Data) throws Exception
//     {
//         XJSON v_XJ = new XJSON();
//         
//         v_XJ.setReturnNVL(false);
//         
//         return v_XJ.toJson(i_Data).toJSONString();
//     }
//     
//     
//     
//     /**
//      * 获取Post请求Body中的数据
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2020-12-31
//      * @version     v1.0
//      *
//      * @param i_Request
//      * @return
//      */
//     protected String getPostData(HttpServletRequest i_Request) 
//     {
//         return FileHelp.getContent(i_Request);
//     }
// }
// 
// Path: src/org/hy/xsso/net/LogoutListener.java
// public class LogoutListener implements CommunicationListener
// {
//     
//     /**
//      *  数据通讯的事件类型。即通知哪一个事件监听者来处理数据通讯（对应 ServerSocket.listeners 的分区标识）
//      *  
//      *  事件类型区分大小写
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2017-02-04
//      * @version     v1.0
//      *
//      * @return
//      */
//     public String getEventType()
//     {
//         return "logout";
//     }
//     
//     
//     
//     /**
//      * 数据通讯事件的执行动作
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2017-02-04
//      * @version     v1.0
//      *
//      * @param i_RequestData
//      * @return
//      */
//     public CommunicationResponse communication(CommunicationRequest i_RequestData)
//     {
//         CommunicationResponse v_ResponseData = new CommunicationResponse();
//         
//         if ( Help.isNull(i_RequestData.getDataXID()) )
//         {
//             v_ResponseData.setResult(1);
//             return v_ResponseData;
//         }
//         
//         v_ResponseData.setDataXID(i_RequestData.getDataXID());
//         logout(i_RequestData.getDataXID());
//         
//         return v_ResponseData;
//     }
//     
//     
//     
//     /**
//      * 用户退出
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2021-01-05
//      * @version     v1.0
//      *
//      * @param i_DataXID
//      */
//     public static void logout(String i_DataXID)
//     {
//         Log.log(":USID 用户退出，票据失效。" ,i_DataXID);
//         
//         XJava.remove(i_DataXID);
//         AppCluster.logoutCluster(i_DataXID);
//     }
//     
// }


import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hy.common.Help;
import org.hy.common.StringHelp;
import org.hy.common.xml.log.Logger;
import org.hy.xsso.common.BaseResponse;
import org.hy.xsso.common.BaseServlet;
import org.hy.xsso.net.LogoutListener;
package org.hy.xsso.appInterfaces.servlet;








/**
 * 单点登录第五步：用户退出。 
 *
 * @author      ZhengWei(HY)
 * @createDate  2021-01-05
 * @version     v1.0
 */
public class LogoutUserServlet extends BaseServlet
{
    
    private static final long serialVersionUID = 3708848763509595148L;
    
    private static final Logger $Logger = new Logger(LogoutUserServlet.class);
    
    
    
    public void doGet(HttpServletRequest i_Request, HttpServletResponse i_Response) throws ServletException, IOException 
    {
        i_Response.setCharacterEncoding("UTF-8");
        i_Response.setContentType("application/json");
        
// Path: src/org/hy/xsso/common/BaseResponse.java
// public class BaseResponse extends SerializableDef
// {
// 
//     private static final long serialVersionUID = -393692673433172315L;
//     
//     
//     
//     /** 响应代码 */
//     private String code;
//     
//     /** 响应消息 */
//     private String message;
//     
//     
//     
//     /**
//      * 获取：响应代码
//      */
//     public String getCode()
//     {
//         return code;
//     }
// 
//     
//     /**
//      * 获取：响应消息
//      */
//     public String getMessage()
//     {
//         return message;
//     }
// 
//     
//     /**
//      * 设置：响应代码
//      * 
//      * @param code 
//      */
//     public void setCode(String code)
//     {
//         this.code = code;
//     }
// 
//     
//     /**
//      * 设置：响应消息
//      * 
//      * @param message 
//      */
//     public void setMessage(String message)
//     {
//         this.message = message;
//     }
//     
// }
// 
// Path: src/org/hy/xsso/common/BaseServlet.java
// public class BaseServlet extends HttpServlet
// {
//     
//     private static final long serialVersionUID = 123638522879125889L;
//     
//     public static final String $Succeed = "200";
// 
//     
// 
//     /**
//      * 返回Json字符格式的结果
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2020-12-28
//      * @version     v1.0
//      *
//      * @param i_Data
//      * @return
//      * @throws Exception
//      */
//     protected String toReturn(Object i_Data) throws Exception
//     {
//         XJSON v_XJ = new XJSON();
//         
//         v_XJ.setReturnNVL(false);
//         
//         return v_XJ.toJson(i_Data).toJSONString();
//     }
//     
//     
//     
//     /**
//      * 获取Post请求Body中的数据
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2020-12-31
//      * @version     v1.0
//      *
//      * @param i_Request
//      * @return
//      */
//     protected String getPostData(HttpServletRequest i_Request) 
//     {
//         return FileHelp.getContent(i_Request);
//     }
// }
// 
// Path: src/org/hy/xsso/net/LogoutListener.java
// public class LogoutListener implements CommunicationListener
// {
//     
//     /**
//      *  数据通讯的事件类型。即通知哪一个事件监听者来处理数据通讯（对应 ServerSocket.listeners 的分区标识）
//      *  
//      *  事件类型区分大小写
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2017-02-04
//      * @version     v1.0
//      *
//      * @return
//      */
//     public String getEventType()
//     {
//         return "logout";
//     }
//     
//     
//     
//     /**
//      * 数据通讯事件的执行动作
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2017-02-04
//      * @version     v1.0
//      *
//      * @param i_RequestData
//      * @return
//      */
//     public CommunicationResponse communication(CommunicationRequest i_RequestData)
//     {
//         CommunicationResponse v_ResponseData = new CommunicationResponse();
//         
//         if ( Help.isNull(i_RequestData.getDataXID()) )
//         {
//             v_ResponseData.setResult(1);
//             return v_ResponseData;
//         }
//         
//         v_ResponseData.setDataXID(i_RequestData.getDataXID());
//         logout(i_RequestData.getDataXID());
//         
//         return v_ResponseData;
//     }
//     
//     
//     
//     /**
//      * 用户退出
//      * 
//      * @author      ZhengWei(HY)
//      * @createDate  2021-01-05
//      * @version     v1.0
//      *
//      * @param i_DataXID
//      */
//     public static void logout(String i_DataXID)
//     {
//         Log.log(":USID 用户退出，票据失效。" ,i_DataXID);
//         
//         XJava.remove(i_DataXID);
//         AppCluster.logoutCluster(i_DataXID);
//     }
//     
// }


// Path: src/org/hy/xsso/appInterfaces/servlet/LogoutUserServlet.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hy.common.Help;
import org.hy.common.StringHelp;
import org.hy.common.xml.log.Logger;
import org.hy.xsso.common.BaseResponse;
import org.hy.xsso.common.BaseServlet;
import org.hy.xsso.net.LogoutListener;

package org.hy.xsso.appInterfaces.servlet;








/**
 * 单点登录第五步：用户退出。 
 *
 * @author      ZhengWei(HY)
 * @createDate  2021-01-05
 * @version     v1.0
 */
public class LogoutUserServlet extends BaseServlet
{
    
    private static final long serialVersionUID = 3708848763509595148L;
    
    private static final Logger $Logger = new Logger(LogoutUserServlet.class);
    
    
    
    public void doGet(HttpServletRequest i_Request, HttpServletResponse i_Response) throws ServletException, IOException 
    {
        i_Response.setCharacterEncoding("UTF-8");
        i_Response.setContentType("application/json");
        
        BaseResponse v_ResponseData = new BaseResponse();