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

📄 fgkvisitor.java

📁 以前做的一个j2ee的项目
💻 JAVA
字号:
package gov.gdlt.ssgly.taxcore.taxblh.gzda.fgxx;

import java.io.*;
import java.util.*;
import java.net.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.w3c.dom.*;

public class FGKVisitor {
    private static String CHARSET="GB2312";

    //private static String FGK_SERVER_URL="http://localhost:8083/web1/";
    //private static String FGK_SERVER_URL="http://192.9.100.4/admin/";
    private static String FGK_SERVER_URL="http://192.9.100.6:9080/admin/";
    private static String FGK_GETFGLIST_SERVLET_URL= "getFgList";
    private static String FGK_GETFGLIST_PARAM_FGZL = "FGZL";
    private static String FGK_GETFGDETAIL_SERVLET_URL= "getFgDetail";
    //private static String FGK_GETFGDETAIL_PARAM_FGID = "FGID";
    private static String FGK_GETFGDETAIL_PARAM_FGID = "FgId";


    //static string for fg xml
    private static String FG_TAG = "FG";
    private static String FG_ID_TAG = "FG-ID";
    private static String FG_NAME_TAG = "FG-NAME";

    public FGKVisitor() {
    }

    /**
     * getFgList
     *
     * @param pNsrnbm String
     */
    public List getFgList(String fgzl) throws FgServerNoFoundException,
            FgServerResponseException {
        try{
                //got fg xml from remorte server and rse xml

            return parseFgXML(FGKHttpVisitor(
                    FGK_GETFGLIST_SERVLET_URL, fgzl));

        } catch (FGXMLParseException pe){
            pe.printStackTrace();
            throw new FgServerResponseException("XML PARSE EXCEPTION:"+pe.getMessage());
        }

    }

    /**
     * getFgDetail
     *
     * @param fgId String
     */
    public Reader getFgDetail(String fgId) throws FgServerNoFoundException,FgServerResponseException{
        return new StringReader(FGKHttpVisitor(FGK_GETFGDETAIL_SERVLET_URL, fgId));
    }



    /**
     * parseFgXML
     *
     * @param FGXML String
     */
    public List parseFgXML(String FGXML) throws FGXMLParseException {
        List lfg = new ArrayList();
        Element e;
        String sFgId;
        String sFgName;

        try {
            //parse xml
            Document doc = DocumentBuilderFactory.newInstance().
                           newDocumentBuilder().parse(new InputSource(new
                    StringReader(FGXML)));

            //get all the fg nodes
            NodeList nl = doc.getElementsByTagName(FG_TAG);

            for(int i=0;i<nl.getLength();i++){
                e = (Element)nl.item(i);
                //SET ID AND NAME OF FG
                //System.out.println(e.getElementsByTagName(FG_ID_TAG).item(0).getChildNodes().item(0).getNodeValue());
                //System.out.println(e.getElementsByTagName(FG_NAME_TAG).item(0).getChildNodes().item(0).getNodeValue());
                sFgId = e.getElementsByTagName(FG_ID_TAG).item(0).getChildNodes().item(0).getNodeValue();
                sFgName = e.getElementsByTagName(FG_NAME_TAG).item(0).getChildNodes().item(0).getNodeValue();
                lfg.add(new FGObject(sFgId,sFgName));
            }

            return lfg;

        } catch (IOException ioe) {
            ioe.printStackTrace();
            throw new FGXMLParseException("PARSE XML IOEXCEPTION:" +
                                          ioe.getMessage());

        } catch (SAXException saxe) {
            saxe.printStackTrace();
            throw new FGXMLParseException("PARSE XML SAXException:" +
                                          saxe.getMessage());

        } catch (ParserConfigurationException pce) {
            pce.printStackTrace();
            throw new FGXMLParseException(
                    "PARSE XML ParserConfigurationException:" + pce.getMessage());

        } catch (FactoryConfigurationError fce) {
            fce.printStackTrace();
            throw new FGXMLParseException(
                    "PARSE XML FactoryConfigurationError:" + fce.getMessage());

        }


    }


     /**
     * FGKHttpVisitor
     *
     * @param ServletName String
     * @param ServletParam String
     */
    private String FGKHttpVisitor(String ServletName, String ServletParam) throws
            FgServerNoFoundException, FgServerResponseException {
        HttpURLConnection httpConn = null;
        StringBuffer sb = new StringBuffer();

        try {
            URL reqURL = new URL(FGK_SERVER_URL + ServletName);

            //open connection
            httpConn = (HttpURLConnection) reqURL.openConnection();

            //impostant must set dooutput
            httpConn.setDoOutput(true);
            httpConn.setUseCaches(false);
            httpConn.setRequestMethod("POST");

            //set parameters
            String parm="";

            if(ServletName.equalsIgnoreCase(FGK_GETFGDETAIL_SERVLET_URL)){
                parm= FGK_GETFGDETAIL_PARAM_FGID + "=" + ServletParam;
            }else{
                 parm= FGK_GETFGLIST_PARAM_FGZL + "=" + ServletParam;
            }

            OutputStream os = httpConn.getOutputStream();
            DataOutputStream dos = new DataOutputStream(os);
            dos.writeBytes(parm);
            //System.out.println("ppppppppppppppp="+dos);
            dos.flush();
            dos.close();

            InputStreamReader ir = new InputStreamReader(httpConn.
                    getInputStream(),CHARSET);

            int ch;

            while ((ch = ir.read()) != -1) {
                sb.append((char) ch);
            }
            ir.close();
            httpConn.disconnect();
            //System.out.println("oooooooooooooooooo="+sb.toString());
            return sb.toString();

       }  catch(MalformedURLException e){
           e.printStackTrace();
           throw new FgServerNoFoundException("SERVER URL ERROR:"+FGK_SERVER_URL+ServletName);

       }catch(IOException ioe){
           ioe.printStackTrace();
           throw new FgServerResponseException("Server response Error:"+ioe.getMessage());
       }

    }

    public static void main(String[] args) {
         FGKVisitor fgkvisitor = new FGKVisitor();

//         String s = "<?xml version=\"1.0\" encoding=\"GB2312\"?><FG-SET><FG>	<FG-ID>12345</FG-ID>	<FG-NAME>有关个税起征点的调整的通知</FG-NAME></FG><FG>	<FG-ID>12367</FG-ID>	<FG-NAME>有关下调印花税的通知</FG-NAME></FG></FG-SET>";
//         try {
//             fgkvisitor.parseFgXML(s);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }


         try{
             //display fg list
             List l = fgkvisitor.getFgList("AB,CD,EF,GH");
             for(int i=0;i<l.size();i++){
                 FGObject fgo = (FGObject)l.get(i);
                 System.out.println(fgo.getFGId());
                 System.out.println(fgo.getFGName());
             }

             //display fgdetail

             BufferedReader br = new BufferedReader(fgkvisitor.getFgDetail("12345"));
             int ch;
             while ((ch = br.read()) != -1) {
                 System.out.print((char) ch);
             }

             br.close();


         }catch(Exception e){
             e.printStackTrace();
         }
    }


}

⌨️ 快捷键说明

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