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

📄 card.java

📁 一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package jp.co.sjts.gsession.card;

import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.File;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import java.util.Iterator;
import java.util.Collection;
import java.util.Hashtable;
import java.util.HashSet;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.RequestDispatcher;

import jp.co.sjts.gsession.tools.*;
import jp.co.sjts.gsession.tools.mail.*;

/**
 * <p>Card偺儊僀儞僋儔僗偱偡丅<BR>
 *
 * @author Ei KISHIDA &lt;ei@sjts.co.jp&gt;
 * @author Hideyuki KITADE &lt;kitade@sjts.co.jp&gt;
 */
public class Card extends ModBaseServlet {

	/** 弶婜僷儔儊乕僞 */
	private Hashtable hsInitData=null;
	/** 柤帉娗棟愝掕僼傽僀儖 */
	private CDCardConfFile conf=null;
	/** 柤帉娗棟儐乕僓愝掕僼傽僀儖 */
	private CDUserConfFile uconf=null;
	/** 擔晅 */
	private GSDate cal = null;
	/** 儐乕僓儅僱乕僕儍乕 */
	private IUserManager UM=null;

	/**
	 *  <p>弶婜壔傪峴偄傑偡丅
	 *
	 *  @param  config
	 */
	public void init(ServletConfig config) throws ServletException {
		cal = new GSDate();
		super.init(config);
		hsInitData = new Hashtable();

		try{
			// 僨乕僞奿擺梡偺僨傿儗僋僩儕傪庢摼
			String CardDir = getInitParameter(CDCmd.CD_DIR);
			if(CardDir!=null){
  				if(!CardDir.endsWith("/"))
  					CardDir+="/";
				String DataDir = CardDir + CDCmd.CD_DATA + File.separator;					// 僨乕僞
				String UserDir = CardDir + CDCmd.CD_IX_TN + File.separator;					// 儐乕僓	
				String IndexDir = CardDir + CDCmd.CD_IX + File.separator;					// 僀儞僨僢僋僗
				String IdcompDir = IndexDir + CDCmd.CD_IX_CO + File.separator;				// 僀儞僨僢僋僗乮夛幮柤乯
				String IdkanaDir = IndexDir + CDCmd.CD_IX_KN + File.separator;				// 僀儞僨僢僋僗乮柤慜乯
				String IdmailDir = IndexDir + CDCmd.CD_IX_ML + File.separator;				// 僀儞僨僢僋僗乮E-MAIL乯
				String IduserDir = IndexDir + CDCmd.CD_IX_TN + File.separator;				// 僀儞僨僢僋僗乮扴摉幰乯
				CardDir = CardDir.replace('/',File.separatorChar);
				DataDir = DataDir.replace('/',File.separatorChar);
				UserDir = UserDir.replace('/',File.separatorChar);
				IndexDir = IndexDir.replace('/',File.separatorChar);
				IdcompDir = IdcompDir.replace('/',File.separatorChar);
				IdkanaDir = IdkanaDir.replace('/',File.separatorChar);
				IdmailDir = IdmailDir.replace('/',File.separatorChar);
				IduserDir = IduserDir.replace('/',File.separatorChar);

				// 儊僀儞乮柤巋娗棟乯僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file = new File(CardDir);

					if(!file.exists()){		// 僼傽僀儖偑懚嵼偡傞偐
						if(!file.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}

				}catch(SecurityException e){
					throw new ServletException("傾僋僙僗尃僄儔乕:"+CardDir);
				}
				// 僨乕僞僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file1 = new File(DataDir);

					if(!file1.exists()){		// 僼傽僀儖偑懚嵼偡傞偐
						if(!file1.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}
				} catch (SecurityException e) {
					throw new ServletException("傾僋僙僗尃僄儔乕:"+DataDir);
				}
				// 僀儞僨僢僋僗僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file1 = new File(IndexDir);

					if(!file1.exists()){		// 僼傽僀儖偑懚嵼偡傞偐	
						if(!file1.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}
				} catch (SecurityException e) {
					throw new ServletException("傾僋僙僗尃僄儔乕:"+IndexDir);
				}
				// 僀儞僨僢僋僗乮夛幮柤乯僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file1 = new File(IdcompDir);

					if(!file1.exists()){		// 僼傽僀儖偑懚嵼偡傞偐	
						if(!file1.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}
				} catch (SecurityException e) {
					throw new ServletException("傾僋僙僗尃僄儔乕:"+IdcompDir);
				}
				// 僀儞僨僢僋僗乮柤慜乯僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file1 = new File(IdkanaDir);

					if(!file1.exists()){		// 僼傽僀儖偑懚嵼偡傞偐	
						if(!file1.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}

				} catch (SecurityException e) {
					throw new ServletException("傾僋僙僗尃僄儔乕:"+IdkanaDir);
				}
				// 僀儞僨僢僋僗乮E-MAIL乯僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file1 = new File(IdmailDir);

					if(!file1.exists())		// 僼傽僀儖偑懚嵼偡傞偐
					{	
						if(!file1.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}

				} catch (SecurityException e) {
					throw new ServletException("傾僋僙僗尃僄儔乕:"+IdmailDir);
				}
				// 僀儞僨僢僋僗乮扴摉幰乯僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file1 = new File(IduserDir);

					if(!file1.exists()){		// 僼傽僀儖偑懚嵼偡傞偐
						if(!file1.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}

				} catch (SecurityException e) {
					throw new ServletException("傾僋僙僗尃僄儔乕:"+IduserDir);
				}
				// 儐乕僓乕僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
				try{
					File file2 = new File(UserDir);

					if(!file2.exists()){		// 僼傽僀儖偑懚嵼偡傞偐
						if(!file2.mkdirs())	// 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
							throw new ServletException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
					}
				} catch (SecurityException e) {
					throw new ServletException("傾僋僙僗尃僄儔乕:"+UserDir);
				}
				hsInitData.put(CDCmd.CD_DIR,CardDir);
			}
			else
				throw new ServletException("InitParameter not find \"CardDir\"");

			// 儅僢僾梡偺url傪庢摼
			String MapUrl = getMapURL();
			if(MapUrl!=null)
				hsInitData.put(CDCmd.CD_MAP,MapUrl);
			else
				throw new ServletException("InitParameter not find \"MapDir\"");
			//Help偺URL傪庢摼
			String HelpUrl = getHelpURL();
			if(HelpUrl!=null){
				hsInitData.put("help",HelpUrl);                            //僴僢僔儏偵搊榐
			}else{
				throw new ServletException("InitParameter not find \"HelpDir\"");
			}

		} catch (Exception e) {
			throw new ServletException(e.toString());
		}
	}


	/**
	 *  <p>僐儞僥僫廔椆帪偵屇傃弌偝傟傑偡丅偙偙偱偼僗乕僷乕僋儔僗傪僐乕儖偡傞偩偗偱偡丅
	 *
	 */
	public void destroy() {
		super.destroy();
	}

	/**
	 *  GET偺僷儔儊乕僞傪庢摼
	 *
	 *  @param    hsPara    僷儔儊乕僞奿擺僴僢僔儏
	 *  @param    req       僒乕僽儗僢僩儕僋僄僗僩
	 *  @param    res       僒乕僽儗僢僩儗僗億儞僗
	 */
	public void GSdoGet(Hashtable hsPara,HttpServletRequest req,HttpServletResponse res)
		throws ServletException, IOException {
		try {
			if(hsPara == null) {
				hsPara = new Hashtable();
				String[] value = {Integer.toString(CDCmd.CD_CARD1)};
				hsPara.put(CDCmd.PA_CMD,value);
				String[] value1 = {"1"};
				hsPara.put(CDCmd.PA_PAG,value1);
				String[] value2 = {Integer.toString(CDCmd.CD_CARD1)};
				hsPara.put(CDCmd.PA_MOD,value2);
				String[] value3 = {"0"};
				hsPara.put(CDCmd.PA_IDX,value3);
			}
			Dispatch(hsPara,req,res);
		} catch(Exception e) {
			log("GSdoGet",e);
			String urlMap = (String)hsInitData.get(CDCmd.CD_MAP);
			String url = GSTool.removeParaFormURI(req.getRequestURI());
			String nexturl = url + "?" + CDCmd.PA_CMD + "=" + CDCmd.CD_CARD1
				+ "&" + CDCmd.PA_MOD + "=" + CDCmd.CD_CARD1
				+ "&" + CDCmd.PA_IDX + "=" + "0"
				+ "&" + CDCmd.PA_PAG + "=" + "1"; 
			CreateErrorPage epage = new CreateErrorPage(e.getMessage(),urlMap,nexturl);
			epage.write(req,res);
		}
	}

	/**
	 *  Post偺僷儔儊乕僞傪庢摼
	 *
	 *  @param    hsPara    僷儔儊乕僞奿擺僴僢僔儏
	 *  @param    req       僒乕僽儗僢僩儕僋僄僗僩
	 *  @param    res       僒乕僽儗僢僩儗僗億儞僗
	 */
	public void GSdoPost(Hashtable hsPara,HttpServletRequest req,HttpServletResponse res)
		throws ServletException, IOException {
		try {
			// 僷儔儊乕僞側偟偺帪偼MAIN儁乕僕偲偡傞
			if(hsPara == null) {
				hsPara = new Hashtable();
				String[] value = {Integer.toString(CDCmd.CD_CARD1)};
				hsPara.put(CDCmd.PA_CMD,value);
				String[] value1 = {"1"};
				hsPara.put(CDCmd.PA_PAG,value1);
				String[] value2 = {Integer.toString(CDCmd.CD_CARD1)};
				hsPara.put(CDCmd.PA_MOD,value2);
				String[] value3 = {"0"};
				hsPara.put(CDCmd.PA_IDX,value3);
			}

			Dispatch(hsPara,req,res);

		} catch(Exception e) {
			log("GSdoPost",e);
			String urlMap = (String)hsInitData.get(CDCmd.CD_MAP);
			String url = GSTool.removeParaFormURI(req.getRequestURI());
			String nexturl = url + "?" + CDCmd.PA_CMD + "=" + CDCmd.CD_CARD1
				+ "&" + CDCmd.PA_MOD + "=" + CDCmd.CD_CARD1
				+ "&" + CDCmd.PA_IDX + "=" + "0"
				+ "&" + CDCmd.PA_PAG + "=" + "1"; 
			CreateErrorPage epage = new CreateErrorPage(e.getMessage(),urlMap,nexturl);
			epage.write(req,res);
		}
	}

	/**
	 * <p>僒乕僽儗僢僩忣曬庢摼
	 *
	 * @return GroupSession version傪曉偟傑偡
	 */
	public String getServletInfo(){
		return "Group Session Servlet ver. 1.1";
	}

	/**
	 *  柤巋娗棟儊僀儞儊僜僢僪
	 *
	 *  @param    hsPara    僷儔儊乕僞奿擺僴僢僔儏僥乕僽儖
	 *  @param    req       僒乕僽儗僢僩儕僋僄僗僩
	 *  @param    res       僒乕僽儗僢僩儗僗億儞僗
	 */
	private void Dispatch(Hashtable hsPara,HttpServletRequest req,HttpServletResponse res)
		throws GSException {

		HttpSession session = req.getSession(false);
		Integer sessionUID = (Integer)session.getAttribute(GSBase.SESSION_PARA_UID);
		String sessionUNAME = (String)session.getAttribute(GSBase.SESSION_PARA_UNAME);
		UM = getUserManager(req);

		int dftuid = ((Integer)session.getAttribute(GSBase.SESSION_PARA_UID)).intValue();
		IUser iser = UM.getUser(dftuid);
		int dfgid = 0;
		if(dftuid!=0){
			dfgid = iser.getDefaultGroup();
		}

		//Hashtable getter
		HashGetter hget = new HashGetter(hsPara);

		// cmd偲mod偺僙僢僩
		int cmd = 0;
		int mod = 0;
		if(hsPara.get("tab" + CDCmd.CD_CARD1 + ".x") != null) {
			cmd = CDCmd.CD_CARD1;
			mod = CDCmd.CD_CARD1;
		} else if(hsPara.get("tab" + CDCmd.CD_CARD2 + ".x") != null) {
			cmd = CDCmd.CD_CARD2;
			mod = CDCmd.CD_CARD2;
		} else if(hsPara.get("tab" + CDCmd.CD_CARD3 + ".x") != null) {
			cmd = CDCmd.CD_CARD3;
			mod = CDCmd.CD_CARD3;
		} else if(hsPara.get("tab" + CDCmd.CD_CARD4 + ".x") != null) {
			cmd = CDCmd.CD_CARD4;
			mod = CDCmd.CD_CARD4;
		} else if(hsPara.get("tab" + CDCmd.AD_ADDRESS1 + ".x") != null) {
			cmd = CDCmd.AD_ADDRESS1;
			mod = CDCmd.AD_ADDRESS1;
		} else if(hsPara.get("tab" + CDCmd.AD_ADDRESS2 + ".x") != null) {
			cmd = CDCmd.AD_ADDRESS2;
			mod = CDCmd.AD_ADDRESS2;
		} else if(hsPara.get("tab" + CDCmd.AD_ADDRESS3 + ".x") != null) {
			cmd = CDCmd.AD_ADDRESS3;
			mod = CDCmd.AD_ADDRESS3;
		} else if(hsPara.get("tab" + CDCmd.AD_ADDRESS4 + ".x") != null) {
			cmd = CDCmd.AD_ADDRESS4;
			mod = CDCmd.AD_ADDRESS4;
		} else {
			cmd = Integer.parseInt((String)((String[])hsPara.get(CDCmd.PA_CMD))[0]);
			mod = Integer.parseInt((String)((String[])hsPara.get(CDCmd.PA_MOD))[0]);
		}

		int index = 0;
		if(hsPara.get(CDCmd.PA_IDX) != null)
			index = Integer.parseInt(((String[])hsPara.get(CDCmd.PA_IDX))[0]);

		int gid = (hsPara.get(CDCmd.PA_GROUP)!=null)?Integer.parseInt(((String[])hsPara.get(CDCmd.PA_GROUP))[0]):dfgid;
		int uid = (hsPara.get(CDCmd.PA_USER)!=null)?Integer.parseInt(((String[])hsPara.get(CDCmd.PA_USER))[0]):dftuid;

⌨️ 快捷键说明

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