系统升级修改说明:JDK1.3 升级到 JDK1.6

升级JDK1.6修改 升级前环境: JDK 1.3 JBOSS 3.2.0 升级后环境: JDK 1.6 JBOSS 4.3.2.GA 升级设置: 安装好JDK 1.6,JBOSS 4.3.2.GA 设置好JDK环境变量,启动JBOSS,运行HTTP://localhost:8080成功 修改内容: 1、修改Sys.properties 将: path.web.app = ../jboss-3.2.0/server/default/deploy/TKMA2_G2.war/WEB-INF 改成: path.web.app = ../jboss-4.2.3.GA/server/default/deploy/TKMA2_G2.war/WEB-INF 2、修改Build.xml (1) 将: <property name="deployDir" value="c:/GeTSmart/jboss-3.2.0/server/default/deploy/${web.app.name}.war"/> 改成: <property name="deployDir" value="c:/GeTSmart/jboss-4.2.3.GA/server/default/deploy/${web.app.name}.war"/> (2) 注意Build.xml中获取的JDK与所设环境变量一致: 即:${system.JAVA_HOME}所得到的值应为JDK1.6 (3)修改JSP预编译中使用的JBOSS包名: 原来JBOSS 3.2.0使用的是:jbossweb-jetty.sar 改成:jboss-web.deployer <java classname="org.apache.jasper.JspC" fork="true" failοnerrοr="true"> <classpath> <pathelement location="${deployDir}/WEB-INF/classes"/> <pathelement location="${system.JAVA_HOME}/lib/tools.jar"/> <fileset dir="${deployDir}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <fileset dir="${deployDir}/../../lib"> <include name="*.jar"/> </fileset> <fileset dir="${deployDir}/../../../../lib"> <include name="*.jar"/> </fileset> <fileset dir="${deployDir}/../jboss-web.deployer"> <include name="*.jar"/> </fileset> </classpath> <arg value="-d"/> <arg value="${jsp.temp}"/> <arg value="-p"/> <arg value="${jsp.package}"/> <!--arg value="-compile"/--> <arg value="-webinc"/> <arg value="${jsp.reg.xml}"/> <arg value="-webapp"/> <arg value="${deployDir}"/> </java> <!-- compile the *.java to *.class Servlets --> <echo message="compile the *.java to *.class Servlets"/> <echo message="JAVA_HOME is set to = ${system.JAVA_HOME}"/> <javac srcdir="${jsp.temp}" destdir="${jsp.temp}" optimize="on" debug="off" deprecation="on" failοnerrοr="true" fork="yes" executable="${system.JAVA_HOME}/bin/javac" compiler="javac1.6" includeAntRuntime="no" includeJavaRuntime="no" memoryMaximumSize="128m" > <classpath> <pathelement location="${deployDir}/WEB-INF/classes"/> <pathelement location="${system.JAVA_HOME}/lib/tools.jar"/> <fileset dir="${deployDir}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <fileset dir="${deployDir}/../../lib"> <include name="*.jar"/> </fileset> <fileset dir="${deployDir}/../../../../lib"> <include name="*.jar"/> </fileset> <fileset dir="${deployDir}/../jboss-web.deployer"> <include name="*.jar"/> </fileset> </classpath> <include name="**/*.java"/> </javac> 3、调整lib包 因为JBOSS升级,所以对用到的部分包进行调整。 (1) javax.servlet.jar 换成:servlet-api.jar (2) 去掉WEB-INF\lib下的jsp-api.jar与jboss包冲突 4、更新数据库驱动 升级到JDK1.6及JBOSS 4.3.2后,使用原来的数据库驱动,对Set AutoCommit off不支持所以将:postgresql.jar更新到postgresql-8.3-605.jdbc4.jar(数据库原来是PostGress 8.0 现在使用8.3版本) 5、修改关键字enum 因为JDK1.6使用关键字enum所以原来代码中使用的变量enum必须修改成其它名称如:将enum 修改成enumn. 6、修改useBean 升级到JDK1.6后,在ANT中对JSP进行预编译的时候,会报以下错误: The value for the useBean class attribute is invalid The value for the useBean class attribute java.lang.Integer is invalid. The value for the useBean class attribute java.util.List is invalid 对JSP代码中有使用 useBean tag -- class="java.lang.Boolean" => type="java.lang.Boolean" class="java.lang.Integer" => type="java.lang.Integer" class="java.util.List" => type="java.util.List" 情况的进行修改。 如将:<jsp:useBean id="ShowCharge" class="java.lang.Boolean" scope="request" /> 修改成:<jsp:useBean id="ShowCharge" type="java.lang.Boolean" scope="request" /> 类似情况的JSP页面有: BatchSign.jsp BatchSignUpper.jsp SignleSign.jsp PrintInboxTnmsg.jsp 7、修改SummaryReport2.jsp 该页面使用了中文Label,预编译的时候报错。修改成从Properties里面获取 8、修改升级引起的页面转发问题 (1)原代码:HttpUtil.callPage(req, resp, getServletConfig().getServletContext(), destJsp); callPage方法中转发使用了: RequestDispatcher rd; rd = sc.getRequestDispatcher(destPage); 预编译时提示必须以:“/”开始的路径。所以应改成: rd = sc.getRequestDispatcher(“/”+destPage); 或者改成: rd = request.getRequestDispatcher(destPage); (2)查找项目中所以包含getRequestDispatcher的文件 如: PepareDocServlet.java DN2TdecItemServlet.java ExportDocFinalServlet.java ImportTDECServlet.java SaveDocServlet.java 类似页面中使用了: RequestDispatcher dispatcher = getServletContext().getRequestDispatcher( req.getParameter("nextpage")); 应改成: HttpUtil.callPage(req,resp,getServletConfig().getServletContext(),req.getParameter("nextpage")); 或改成: RequestDispatcher dispatcher = req.getRequestDispatcher( req.getParameter("nextpage")); 注意这里的修改要与HttpUtil.callPage中的修改对应。建议最好采用第一种方法。 9、修改TDLD01_TdecTradeDeclaration.xsl文档 Replace <xsl:if test="//ShipmentInfo/"> <xsl:if test="//TransportId/"> by <xsl:if test="//ShipmentInfo"> <xsl:if test="//TransportId">

对应的callPage方法如下:

public static void callPage( HttpServletRequest request, HttpServletResponse response, ServletContext sc, String destPage) { try { if (destPage.endsWith(".jsp")) { // JSP //Logger.logDebug("callPage------>jsp"); RequestDispatcher rd; //rd = sc.getRequestDispatcher(destPage); rd = request.getRequestDispatcher(destPage); rd.forward(request, response); } else if ( destPage.endsWith(".html") || destPage.endsWith(".htm")) { // HTML //Logger.logDebug("callPage------>html"); if (destPage.startsWith("http")) { response.sendRedirect(destPage); } else { String host = "http://" + request.getHeader("host"); //Logger.logDebug("callPage------>http-host:"+host); response.sendRedirect(host + destPage); } } else { // Servlet //Logger.logDebug("callPage------>servlet"); RequestDispatcher rd; //rd = sc.getRequestDispatcher(destPage); rd = request.getRequestDispatcher(destPage); rd.forward(request, response); } } catch (Exception e) { Logger.logErr(request.getHeader("referer"), "callPage", e); Logger.logErr(className, "callpage", e); } }

ANT文件如下:

http://blog.csdn.net/luweifeng1983/archive/2009/07/31/4397322.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值