2008年7月9日的工作总结

来源:互联网 发布:好看的爱情电视剧知乎 编辑:程序博客网 时间:2024/04/29 20:44
     从今天开始决定把所有的不会的知识记录在此博客上,已方便日后遇到相同问题的时候进行处理!
1,关于wtp发布WEB的问题,以往的时候我都是通过webserver直接进行发布,这个在工程小的时候还好,配置很简单,但是一但工程大的时候有一个明显的缺点,第一次启动服务器的时候特别的慢,通常要5-10分钟,有的时候还会因为心急弄的eclipse卡死,汗~!
       昨天突然发现师傅的wtp发布更改了下设置,这样第一次启动的时候也特别的方便,因此今天自己试了一下记录下来。首先新建立一个server,然后双击服务器的时候会弹出一个关于tomcat的server选项,其实我们知道所有的工程最终会发布在tomcat下,eclipse只是一个方便大家使用的工具,它最终的选项还是要帮我们发布在tomcat下,因为wtp默认的是按照这个工程的发布,所以它只能把编译出来的.class文件找到以后发布在tomcat,所以第一次因为需要找会要很长的时间,解决的办法是首先我们在web-inf下建立一个classes文件夹,然后选择工程的property中的java buildpath,在buildpath的source中有default output folder选项,这个选项的作用是告诉你你的java文件编译好以后放在哪里,原来默认的是src下面,这时我们需要更改下它的路径,改成工程/Webcontent/Web-inf/classes中,这样在编译的时候就可以把.class文件编译到这里。然后OK这个地方配置完成!现在又回到了配置tomcat那个选项的界面,我们选择Modules,这个是确认wtp发布的路径的地方,选择add External web module选项,在Document base选项中,我们选择自己的工程所在的Webcontent,例如G:/SMS/ezWMS/WebContent,path选择任意一个名字,path的作用是当你要打开网页的工程名,例如path选择ezwms,那面输入网站的连接为http://localhost:8080/ezwms就可以打开网页。
       这个方法能让第一次发布很快,以前同事帮忙弄过一次,但是当时还不理解而且是第一次使用,所以给忘记了,现在记录下来,方便日后如果还忘的话去查找。
2,    public String getProductName(String productCode) {
        Session session = getSessionFactory().openSession();
        SQLQuery sqlQ = session
                .createSQLQuery("select zproduct.zProName from zproduct where zproduct.zProID = ?");
        sqlQ.setString(0, productCode);
        sqlQ.addScalar("zProName", Hibernate.STRING);
        String productname = null;
            List list = sqlQ.list();
            if (list != null && list.size() >= 1) {
                productname = (String) list.get(0);      
            return productname;}
            session.close();
    return null;   
    }
这是一段dao层的代码,程序在运行的时候会提示没有关闭session,如果很多地方都出现这样的话,会因为大量的session没有关闭,而导致系统崩溃。但是程序中我确实用到了session.close();但是写法不对,最终正确的代码应该是public String getProductName(String productCode) {
        Session session = getSessionFactory().openSession();
        SQLQuery sqlQ = session
                .createSQLQuery("select zproduct.zProName from zproduct where zproduct.zProID = ?");
        sqlQ.setString(0, productCode);
        sqlQ.addScalar("zProName", Hibernate.STRING);
        String productname = null;
        try{
            List list = sqlQ.list();
            if (list != null && list.size() >= 1) {
                productname = (String) list.get(0);
            }
            return productname;
        }finally{
            session.close();
        }
    }
3,今天又犯了一个低级错误,有一处代码怎么改运行都是错误结果,想了半天还是没想明白,可能出错的地方不是那里吧,最后没办法去吃午饭了,回来以后突然想起来我刚才把编译改成手动的了,忘改回来了,以后这样的错误不能再犯了!