问题描述
先解释一下开发部署的过程:下任务后,在本地编写程序,程序是java+jsp的结合,开发环境是winxp+tomcat。有一个开发服务器,一个应用服务器。2台不同的linux服务器(weblogic),环境是系统服务部搭设的,环境都是一样的。但是开发服务器上的程序可以由我们开发人员主动上线,可以自己删改增加里面的程序,而应用服务器是客户直接使用的服务器,上线只能向系统服务部申请,让他们代为上线。这是前提。这次一个程序开发,关于excel文件上传并将数据存储到数据库的动作,也只是一个更新了,我更改了一点点,然后上线到开发服务器上,能够正常运行,然后向系统服务部申请上线,将上线文件上线到指定目录等待。在开发服务器上能够正常运行,在运行环境下却报错了。根据错误信息,好像是说我某个方法出错了,但是这个方法确实是没有出错,我在开发环境下上传的文件是同一个文件,处理的程序也是同一个程序。这里我将运行环境下报错信息粘贴一下:/bea/user_projects/domains/sasdomain/./SASManagedServer/.wlnotdelete/extract/SASManagedServer_frame_frame/jsp_servlet/_jsp/_mart_ny/__ny_md_033_2.java:133: cannot resolve symbolprobably occurred due to an error in /jsp/mart_ny/ny_md_033_2.jsp line 11:String tmp = tntde.fromExceltoSql_1(filename);--------------------------------------------------------------------------------Full compiler error(s):/bea/user_projects/domains/sasdomain/./SASManagedServer/.wlnotdelete/extract/SASManagedServer_frame_frame/jsp_servlet/_jsp/_mart_ny/__ny_md_033_2.java:133: cannot resolve symbolsymbol : method fromExceltoSql_1 (java.lang.String)location: class com.baosight.dw.ny.TMUD_NY_TJ_DoExcel String tmp = tntde.fromExceltoSql_1(filename); //[ /jsp/mart_ny/ny_md_033_2.jsp; Line: 11]这中间说:String tmp = tntde.fromExceltoSql_1(filename);报错了,其实这方法根本没错的,在开发环境能够正常运行的。诡异的是,另外一个jsp经过我修改后放在服务器上后,居然也报错:cannot resolve symbol刚刚报错的文件代码贴出来:<%@ page language="java" pageEncoding="UTF-8"%><%@page import="com.baosight.dw.ny.TMUD_NY_TJ_Upload"%><%@page import="com.baosight.dw.ny.TMUD_NY_TJ_DoExcel"%><%TMUD_NY_TJ_Upload tnju = new TMUD_NY_TJ_Upload();TMUD_NY_TJ_DoExcel tntde = new TMUD_NY_TJ_DoExcel();String fileupdate=request.getParameter("filedate");String url = "/dw/webupload/mart_ny/nbbx/";String filename = tnju.fileupload(pageContext,url+fileupdate);if(!"".equals(filename)){String tmp=tntde.fromExceltoSql_1(filename);if("".equals(tmp)){out.print("<script>window.alert('恭喜,数据导入成功.');window.location.href='ny_md_033.jsp';</script>");}else{out.println(fileupdate);out.println("<script>window.alert('请注意,本次操作出现故障:"+tmp+"请重试或联系管理员')</script>");}}else{out.print("文件上传时出现问题");}%>大家可以看到,我是实例化的一个tntde对象,调用fromExceltoSql_1(filename),然而在浏览器中,这一行代码红色了而上面的上传动作,经过确认也没有成功上传到服务器。在开发服务器同样的代码却能够正常运行。出现这样的情况,应该要怎样去处理呢?大侠们给个思路,具体点最好了
解决方案
感觉错误是报在com.baosight.dw.ny.TMUD_NY_TJ_DoExcel中的fromExceltoSql_1()方法中 不是说11行吗或许是TMUD_NY_TJ_DoExcel跟服务器上的不一样
解决方案二:
多半是文件编码问题,全部改成utf-8