tomcat6.0 项目部署

前些天大学同学托我帮他们公司弄个小项目,分析他的需求,觉得很简单,就答应了。花了整整一天时间,才弄好。其中也有些收获,把项目中获得的知识记录下来,以后再用到也好迅速的捡起来。

开发工具:jdk1.5 tomcat6.0 eclipse oracle10gxe

框架:strust2.x spring3.x mybatis3.x 前台主要是jquery

收获如下:

1.mybatis作为持久层框架,有一个NULL异常的问题情况,随便举个例子

  SqlSession sqlSeesion;

  Users users=new Users();//user是关键字,郁闷

  users.setUname(null);

  users.setUage(20);

  sqlSession.insert("insertUsers",users);

  //sqlSession是通过注入的

  //mybatis的mapper.xml和spring的xml配置就不写了

  运行代码,会出现NULL异常。我首先想到的是orcale数据是否非空,结果是,可以为空。为了验证,直接用sql语句在orcale下插入成功。

  这时,我就想到可能是mybatis的问题,也许你会想说sqlSession有可能是空,当然就个早就验证,spring注入是成功的。

  如果是mybatis的总是,就要判断是那个环节出的问题。如是我直接在mapper中修改SQL语句,把#{uname}改成NULL,运行,插入成功

  这就说明,有可能是类型转换的问题,也就是javaType转化在jdbcType中null值无法判定类型的原因。如是,我在网上搜了搜,发现很多人

  也遇到了同样问题。有人说把null改成"",这样固然可以,但是这样解决问题过于直接,无法探究问题本身,最终解决办法如下:

  #{uname}===>#{uname,jdbcType=VARCHAR}

 

2.tomcat6.0部署项目问题

 直接说解决办法.

 a.    d:/jdk1.5/bin 配置到环境变量的path中去

 b。  在环境变量中配置JAVA_HOME和JRE_HOME,后来在网上查资料,了解到这两个环境变量是在tomcat6.0/bin/setclasspath.bat中被用到了,所以有人提出了另外一个方案。就是直接将这两个变量写到setclasspath.bat中去 

  set JAVA_HOME=D:\jdk1.5
  set JRE_HOME=D:\jdk1.5\jre

 c.     运行startup.bat搞定

posted @ 2012-07-29 21:03  Mr c  阅读(313)  评论(0编辑  收藏  举报