检讨,我必须深刻的检讨。

  或者一开始就是一个错误,我现在还不会走,走的不稳,我就在努力的去跑,我追以后的目标,我的跨越太大!我跌倒了,我该学会步行,我该学会处理眼前的事情!

  我的bug太多了,我不是一个合格程序员,我的思维不严谨,所以我下棋长常会输!

  我太追求新东西,却忘记了它的实用,我需要注重现有的东西的使用。

  我太注重了技巧,却忘记切合本身,我应该去脚踏实际!

  我有太多的问题,我应该去改正,我该去完美!

记着吃不喜欢吃的,却忘记了喜欢吃的

  经常吃快餐,而快餐里面经常会有那种黑粉丝。本来就是黑粉丝,我不喜欢吃粉丝的,而且这个黑粉丝是一团一团的,让人看见都会吐的感觉,要是以前的我,一盒饭我动也不会动一下的。现在不行啊!饿过肚子的啊!曾经一周就用8块钱的硬币撑下来的。所以现在这道菜是我第一个要解决掉的菜,我不敢说菜有多难吃,但一定不是我的口味,吃这道菜的时候,我真的闭着眼睛吃的,而且我对自己说的是,吃吧!不吃就没饭是吃麻木了!

  时间久了,这饭也吃习惯了,应该说是吃麻木了吧!主要有这道菜,肯定是第一个吃的,

而且现在往往是,吃完这道菜后,其他菜也都没有吃过多少了!

  今天吃完的时候,突然发现,我喜欢吃的土豆丝、西红柿啊!我都没吃多少了!我感到有点可怕了!要是以后我吃起了其他什么乱七八槽的东西,我怎么办啊?

  吃不喜欢吃的,喜欢吃的,却给忘记了!好得不偿失啊!

// 字符串转XML
String xmlStr = "";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(is);
//XML转字符串
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("encoding","utf-8");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
t.transform(new DOMSource(doc), new StreamResult(bos));
String xmlStr = bos.toString();

  使用webservice中使用的类型可以是好多种,string、element、document等等甚至可以使对象!

  我使用element来传输xml文件,写了一个文件,源码如下


import java.io.Reader;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.xpath.XPathAPI;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
/**

  • 工单查询接口 boos提供serialNumber、serviceNum输入参数
    *
  • @author joypen
    /
    public class WidebandBusinessQueryService {
    // 提供的查询方法
    public Element queryWideband(Element requestXml) throws Exception {
    Map map = this.databaseMethod(requestXml);
    String responseXml = this.dealResponseXml(map);
    System.out.println("111 "+responseXml);
    Document doc = null;
        Reader strreader=new StringReader(responseXml);
        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        doc = builder.parse(new InputSource(strreader));
    return  doc.getDocumentElement();
    
    }
    // 连接数据库,并且执行sql语句
    private Map databaseMethod(Element requestXml) {
    Connection conn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    Map map = null;
    String serialNumber = null;
    String serviceNum = null;
    try {
        map = this.parseXml(requestXml);
        serialNumber = (String) map.get("SERIALNUMBER");
        serviceNum = (String) map.get("SERVICENUM");
        if(TextUtil.isNull(serialNumber) || "".equals(serialNumber) || TextUtil.isNull(serviceNum) || "".equals(serviceNum)){
            map.put("ERRORCODE", "1");
            map.put("DESCRIPTION", "SERIALNUMBER OR SERVICENUM IS WORING!");
        }else{
            conn = Helper.getDBCnn();
            conn.setAutoCommit(false);
            String sqlString = this.sqlQueryString(serialNumber, serviceNum);
            ps = conn.prepareStatement(sqlString);
            rs = ps.executeQuery();
            map = this.dealResult(rs);
        }
    } catch (Exception e) {
        System.out.print("WidebandBusinessQueryService--数据库连接出错!");
        e.printStackTrace();
    }finally{
        try {
            rs = null;
            ps = null;
            if(conn!=null){
                conn.setAutoCommit(true);
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    return map;
    
    }
    // 拼接sql语句
    private String sqlQueryString(String serialNumber, String serviceNum) {
    StringBuffer sql = new StringBuffer();
    sql.append("select * from t_pbb_open_main where SERIALNUMBER = +serialNumber+ and SERVICE_NUM = +serviceNum+ ");
    return sql.toString();
    
    }
    // 处理返回的结果集
    private Map dealResult(ResultSet rs) {
    HashMap map = null;
    try {
        map = new HashMap();
        if(rs.next()){
            map.put("ERRORCODE", "0");
            map.put("SERIALNUMBER", rs.getString("SERIALNUMBER"));
            map.put("SERVICENUM", rs.getString("SERVICE_NUM"));
            map.put("FORMNO", rs.getString("FORM_NO"));
            map.put("STATE", rs.getString("PROCESS_STATE"));
            map.put("OPERATORNAME", rs.getString("SERVICE_NUM"));
        }else{
            map.put("ERRORCODE", "1");
            map.put("DESCRIPTION", "WITHOUT THIS RECORD!");
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return map;
    
    }
    // 解析xml,得到serialNumber和serviceNum
    private Map parseXml(Element requestXml) throws Exception {
    Map map = new HashMap();
        String serialNumber="";
        Node tmpNode = XPathAPI.selectSingleNode(requestXml, "//SERIALNUMBER");
        if (tmpNode != null)
        {
            Node txtNode = tmpNode.getFirstChild();
            if (txtNode != null)
                serialNumber = txtNode.getNodeValue();
        }
        String serviceNum="";
        tmpNode = XPathAPI.selectSingleNode(requestXml, "//SERVICENUM");
        if (tmpNode != null)
        {
            Node txtNode = tmpNode.getFirstChild();
            if (txtNode != null)
                serviceNum = txtNode.getNodeValue();
        }
        map.put("SERIALNUMBER", serialNumber);
        map.put("SERVICENUM", serviceNum);
    return map;
    
    }
    // 拼接responseXml
    private String dealResponseXml(Map responseMap) {
    String resultCode = (String) (TextUtil.isNull(responseMap.get("ERRORCODE")) ? "" : responseMap.get("ERRORCODE"));
    String serialNumber = (String) (TextUtil.isNull(responseMap.get("SERIALNUMBER")) ? "" : responseMap.get("SERIALNUMBER"));
    String serviceNum = (String) (TextUtil.isNull(responseMap.get("SERVICENUM")) ? "" : responseMap.get("SERVICENUM"));
    String formNo = (String) (TextUtil.isNull(responseMap.get("FORMNO")) ? "" : responseMap.get("FORMNO"));
    String description = (String) (TextUtil.isNull(responseMap.get("DESCRIPTION")) ? "" : responseMap.get("DESCRIPTION"));
    String time = (String) (TextUtil.isNull(responseMap.get("time")) ? "" : responseMap.get("time"));
    String state = (String) (TextUtil.isNull(responseMap.get("STATE")) ? "" : responseMap.get("STATE"));
    String operatorName = (String) (TextUtil.isNull(responseMap.get("OPERATORNAME")) ? "" : responseMap.get("OPERATORNAME"));
    String operatorPhone = (String) (TextUtil.isNull(responseMap.get("OPERATORPHONE")) ? "" : responseMap.get("OPERATORPHONE"));
    StringBuffer sb = new StringBuffer();
    sb.append("
    
    ");
    sb.append("
    
    ");
    sb.append(""+resultCode+"
    
    ");
    sb.append(""+serialNumber+"
    
    ");
    sb.append(""+serviceNum+"
    
    ");
    sb.append(""+formNo+"
    
    ");
    sb.append("响应时间
    
    ");
    sb.append("失败原因
    
    ");
    sb.append("
    
    ");
    sb.append("当前环节
    
    ");
    sb.append("操作人姓名
    
    ");
    sb.append("操作人电话
    
    ");
    sb.append("
    
    ");
    sb.append("
    
    ");
    return sb.toString();
    
    }
    public static void main(String[] args) throws Exception {
    String reqeustXml = "321312陶宏辉请求时间";
    Document doc = null;
    Reader strreader=new StringReader(reqeustXml);
    DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    doc = builder.parse(new InputSource(strreader));
    Element responseXml = new WidebandBusinessQueryService().queryWideband(doc.getDocumentElement());
    String testXml = "";
    Node tempNode = XPathAPI.selectSingleNode(responseXml, "//OPERATORNAME");
    if(tempNode!=null){
        Node txtNode = tempNode.getFirstChild();
        if(txtNode!=null){
            testXml = txtNode.getTextContent();
        }
    }
    System.out.println("reqeust: "+reqeustXml);
    System.out.println("testXml: "+testXml);
    
    }
    }

  公司现在使用ibm的WebSphere做开发,我的本本跑一个myeclipse都相当的吃力,更别提跑WebSphere了!做开发我用公司的电脑,配置相当的高的!就是台式机,不是很方便的啊!回到家了,想去做开发的话,困难就很大了!如果用远程登录,公司也没有提供外网可以访问的VPN,而且使用的效果很不好,延时很大,鼠标指针晃的很!所以只能谋求其他方式了!

  在深度发现了teamViewer,说效果很不错!我试用了一段时间,感觉一个字,棒!优点很多,

1、软件小,用绿色版的话,也就只有2m大!

2、连接方式简单,只要知道对方的id就可以了!

3、速度快,可能中转服务器里中国近一点吧,连接的速度很快的。

4、可以使用VPN,虽然我没用过,但这个功能很强大的。

5、可以传输文件,又是一个亮点啊!

。。。

还有其他优点的,我也就不一一介绍了!

有了这个工具之后,我就把我电脑那里用了!随时随地只要有网络,我就可以连接到公司电脑,不必关心内外网!方便啊!

公司电脑用的内网,数据库、服务器的访问都需要内网,用公司的电脑做为一个固定的桥梁,想什么时间最开发都可以了!

还正想着要不要买一个新本呢!想着看来是不用了!

晚上一个人从公司回来,路上猛的一下,蹦出一条大狗,就冲到了我的面前!

想起当年我一次回家,也是晚上,也是一个人,同样蹦出来一条狗来,狠狠的咬了我一口,也就仅仅一口,害得我现在不管大狗小狗,冲到我面前,我都是心有余悸!

好在现在城市的宠物狗多,都不咬人的,今天晚上我很平安的回来了!