java 支付宝对账单cvs导出cvs格式,文件末出现js脚本,服务器端出现的(weblogic),本地没有(tomcat)

10019人阅读
WEBLOGIC(34)
1、ClassNotFoundException:org.hibernate.hql.ast.HqlToken异常
使用Hibernate的工程部署到WebLogic下时,经常会出现ClassNotFoundException:org.hibernate.hql.ast.HqlToken的问题,出现该问题的主要原因在于WebLogic已经集成了antlr.jar包,在使用Hibernate时,会先加载其自身所带的antlr.jar包,会和Hibernate捆绑的antlr-2.7.6.jar冲突,导致上述错误。
解决方法:
(1)在myeclipse7.0中:
依次点击windows→preferences→myeclipse workbench→servers→weblogic→weblogic10.x→path,在prepend to classpath选项中,把hibernate要用到的包antlr-2.7.6.jar添加到weblogic的classpath中。
这样在weblogic便可以通过myeclipse正常启动,以上提到的问题解决。
(2)如果想要通过weblogic自带的脚本来运行:
将工程里的antlr-2.7.6.jar拷贝到weblogic的wlserver_10.3\server\
lib文件夹下面,在user_projects\domains\base_domain\bin里找到startWebLogic.cmd文件,找到:
set CLASSPATH=%SAVE_CLASSPATH%,&在下面增加以下3行代码:
@REM hibernate3.0
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.6.jar&
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%
保存后双击该脚本启动weblogic,即可由非myeclipse的方式启动工程了。
2、工程打包成.war部署到WebLogic后,出现如下问题:
Error: weblogic.management.DeploymentException: Cannot set web app root system property when WAR file is not expanded - with nested exception: [java.lang.IllegalStateException: Cannot set web app root system property when WAR
file is not expanded]
原因为org.springframework.web.util.Log4jConfigListener&调用了getRealPath()方法,返回null,
String root = servletContext.getRealPath(&/&);
if (root == null) {
throw new IllegalStateException(&Cannot set web app root system property when WAR file is not expanded&);
3、关于request.getRealPath()的出错
而在servlet中使用getServletContext.getRealPath()这个方法收到war&和non-war的影响,以及不同app server实现的影响,运气好的话,你常常会得到null,嘿嘿,比如你在weblogic上部署war文件,又调用这个方法..
推荐ServletContext.getResourceAsStream
参考资料:
关于serveletContext.getRealPath返回NULL和不同的app server返回不同的结果
resoure url:
.cn/bbs/thread.jspa?forumID=121&threadID=12968&start=0&tstart=0
我的应用有几个配置文本配置文件(是一些报表的模板),我放在WEB-INF下面的config目录下,我有程序中是这样得到这个config的实际路径的,先用serveletContext.getRealPath得到根路径,tomcat中比如是c:\tomcat\webapp\test,然后我加上&&/WEB-INF/config/aa.config&,这样得到文件的path然后进行读入,  应用在tomcat上跑是ok的,后来将war放到weblogic上,出错,原因是:在weblogic上用getRealPath得到的是像myserver\stage\_appsdir_test_war\test.war!\WEB-INF\config....这样的路径,于是一直报FileNotFoundException。
serveletContext.getRealPath
这个方法在不同的服务器上所获得的实现是不一样的,这种情况我也同样遇到过,建议是通过classloader来获得你配置的资源文件,context.getRealPath(&/&)可能返回了null,你可以输入来看看,对一个打包的应用来说,是没有RealPath的概念的,调用getRealPath只会简单地返回null。其实,也很好理解,一个文件被打包入了.war文件,就不存在目录结构了(虽然包中仍然存在目录结构,但这不等同于文件系统中的目录结构)。所以,对war包中的资源是无法得到RealPath的。这样也就无从通过文件IO进行读取了。那么,如何读取war包中的资源呢?答案是使用ServletContext.getResourceAsStream
(&/WEB-INF/config/aa.config&)方法。
原则:基本上就是尽量使用j2ee规范中的各层次classloader来获取资源,而不是试图去找文件的绝对路径方法:调用this.getClass().getClassLoader().getResource(&/&).getPath();&获取到classes目录的全路径
使用:在得到classes目录的全路径后再根据字符串的截取与拼装达到你的要求即可。
4、getServletContext()方法报错
在java文件中执行getServletContext()方法时,报weblogic.servlet.jsp.getServletContext()不存在的错误,解决办法:把this.getServletContext()改为this.getServletConfig().getServletContext()。
5、java.lang.NoClassDefFoundError: weblogic/Server
配置出了问题,应该WebLogic installation directory,将C:\Oracle\Middleware\wlserver_10.3\server改为C:\Oracle\Middleware\wlserver_10.3
6、Could not find the main class
因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这个.class文件,会抛出Could not find the main class.program will
exit,java.lang.UnsupportedClassVersionError不支持的Class版本错误。
确定Weblogic配置的JDK与程序使用的一致
7、乱码问题
乱码问题见我的日志:JavaScript-url传递中文乱码
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8531322次
积分:72070
积分:72070
排名:第24名
原创:258篇
转载:2778篇
评论:748条
(22)(28)(35)(73)(46)(92)(17)(25)(37)(63)(7)(74)(67)(95)(177)(113)(86)(40)(43)(71)(14)(10)(17)(12)(6)(20)(27)(54)(71)(97)(74)(32)(2)(24)(21)(62)(60)(36)(23)(27)(46)(34)(76)(63)(121)(141)(74)(54)(120)(77)(42)(4)(12)(19)(1)(9)(15)(19)(18)(16)(31)(79)(68)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'相关文章推荐
Tomcat是Apache
软件基金会(Apache Software Foundation)的Jakarta
项目中的一个核心项目,由Apache、Sun
和其他一些公司及个人共同开发而成。由...
我们知道,常见的web 容器有 Tomcat,Resin,Glassfish,Jboss,Weblogic,Websphere等,前三个都是免费的,后者则是收费的,本人只用过前两个,所以对两者进行简单...
Resin和Tomcat都是目前极其出色的Web容器,本文介绍了Linux环境下使用Resin和Tomcat部署SpringMVC+Maven项目。
一、Resin4部署Maven项目1. 下载Res...
Apache全球应用最广泛的http服务器,免费,出自apache基金组织 Tomcat应用也算非常广泛的web 服务器,支持部分j2ee,免费,出自 apache基金组织 JBoss开源的应用服务器...
link: /fandywang_jlu/blog/item/035ce2fdf2e4.html
首先探讨一下为什么要使用ngi...
一开始用的tomcat,后来改用了resin,现在又开始用tomcat,写一点个人感受,如果有什么不对的地方还请大家批评指正,1.首先从速度上来说,resin的速度要比tomcat快3倍,当然了官方的...
http://blog.csdn.net/liuyinghui523/article/details/
web 容器比较 tomcat jboss resin web...
Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的...
测试比较版本未 resin 3.1.1 和 resin pro 3.1.1很多人说 resin pro
版本的性能会比 resin
的性能高。为此我特意简单的测试了一下,使用的是webct4.0 ...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)相关文章推荐
一、简介WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应...
BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应 用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的...
一、tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它是Apache 软件基金会(Apache
Software Foundation)的Jakarta 项目中...
Apache全球应用最广泛的http服务器,免费,出自apache基金组织 Tomcat应用也算非常广泛的web 服务器,支持部分j2ee,免费,出自 apache基金组织 JBoss开源的应用服务器...
Apache全球应用最广泛的http服务器,免费,出自apache基金组织 Tomcat应用也算非常广泛的web 服务器,支持部分j2ee,免费,出自 apache基金组织 JBoss开源的应用服务器...
Tomcat、Weblogic、Jboss、WebSphere之间的区别和联系
Websphere:
这是ibm公司的网上的信息。更详细的信息可以访问网站:
问题1.:我在mysql+tomcat中可以配置好,怎么在oracle+weblogic中配置不成功呢??? 解决方法:下面我介绍一下p6spy在weblogic上安装的步骤:  (1)http:/...
在J2ee应用中,如果采用Hibernate框架,可以自动建立数据库实体与Java实体类的映射关系,大大方便Java程序进行持久化对象访问和操作,从而明显提高企业应用开发效率,减轻Java程序与后台数...
文档选项将此页作为电子邮件发送级别: 初级俞 黎敏 (), 技术顾问, 萨蒂扬软件技术(上海)有限公司2007 年 7 月 30 日本文介绍如何在应用程序中利用 P6Sp...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)相关文章推荐
1.Tomcat是Apache鼎力支持的Java Web应用服务器,由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到最广泛的青睐。-实际上Tomcat 部分是Apache 服务...
转载于:/demo_c202_i780.html
JBoss Web和 Tomcat的区别
在Web2.0的浪潮中,各种页面技术和框架不...
原文地址:.cn/s/blog_71fa339e0101chzn.html
免费,世界使用排名第一的Web服务器。它可以运行在几乎所有广...
Tomcat、Weblogic、Jboss、WebSphere之间的区别和联系
Websphere:
这是ibm公司的网上的信息。更详细的信息可以访问网站:
Apache:全球应用最广泛的http服务器,免费,出自apache基金组织
Tomcat:应用也算非常广泛的web服务器,支持部分j2ee,免费,出自apache基金组织
Weblogic.Tomcat.Apache.JBoss.IIS之间的区别
Weblogic、Tomcat、Apache、JBoss 都基于java的基础架构;
Weblogic是一个企业级的应用服务器,其中包括j2ee中的各类应用如jsp,servlet,ejb等
WebLogic、WebSphere、JBOSS、Tomcat之间的区别
1:产品介绍:
  WebLogic是美国bea公司出品的一个application server...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)1281人阅读
WEBLOGIC(34)
有这样一个文件下载连接如下:
&a href=&文件名.xls& &download&/a&
在tomcat下,点download的时候,可以弹出文件下载框,但是在weblogic下却直接把该文件打开了。
原因是:weblogic是根据HTTP Header 的文件类型来判断是否弹出下载框的,默认的文件类型是contentType=&text/html&,所以是自动打开的。而tomcat是默认把文件都作为二进制文件,所以弹出对话框。
那如何让weblogic能弹出对话框呢,示例如下:
test1.jsp 内容如下:
&%@ page language=&java& contentType=&text/ charset=utf-8& pageEncoding=&utf-8&%&
&!DOCTYPE HTML PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN&&
&script type=&text/javascript&&
& function returnTo(url){
& &window.location= 'test2.jsp?filename='+encodeURI(url);
//注意:encodeURI 函数可以很好的解决utf-8编码下常见的 奇数个汉语最后一个为乱码的问题!
&title&&/title&
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8&&
&a href=&javascript:returnTo('文件名.xls')& &download&/a&
&一:采用RequestDispatcher的方式进行
test2.jsp 内容如下:
&%@ page language=&java&& pageEncoding=&utf-8&%&
& String filename = request.getParameter(&filename&);
&&response.setContentType(&application/x-download&);//设置为下载application/x-download&&&
&&filename = new String(filename.getBytes(&ISO-8859-1&), &utf-8&); //解决get请求传递参数为乱码的问题。
&&String display = java.net.URLEncoder.encode(filename,&utf-8&); //解决文件下载框汉语文件名为乱码的问题。
& response.addHeader(&Content-Disposition&,&filename=& + display);&
& RequestDispatcher dis = application.getRequestDispatcher(&/&+filename);&&&
& if(dis!= null)&&&
& dis.forward(request,response);&&&
& response.flushBuffer();&&&
& catch(Exception e)&&&
& e.printStackTrace();&&&
& finally&&&
二:采用文件流输出的方式下载
test2.jsp 内容如下:
&%@ page language=&java& pageEncoding=&utf-8&%&
&out.clear();&
&response.reset();&
&response.setContentType(&application/x-download&);
&String filename = request.getParameter(&filename&);
&response.setContentType(&application/x-download&);
&filename = new String(filename.getBytes(&ISO-8859-1&), &utf-8&);
&String display = java.net.URLEncoder.encode(filename, &utf-8&);
&response.addHeader(&Content-Disposition&, &filename=&
&&&+ display); //&
&String path = application.getRealPath(filename);//取得物理路径
&java.io.OutputStream outp =
&java.io.FileInputStream in =
&&outp = response.getOutputStream();
&&in = new java.io.FileInputStream(path);
&&byte[] b = new byte[1024];
&&int i = 0;
&&while ((i = in.read(b)) & 0) {
&&&outp.write(b, 0, i);
&} catch (Exception e) {
&&System.out.println(&Error!&);
&&e.printStackTrace();
&} finally {
&&if (in != null) {
&&&in.close();
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8531324次
积分:72070
积分:72070
排名:第24名
原创:258篇
转载:2778篇
评论:748条
(22)(28)(35)(73)(46)(92)(17)(25)(37)(63)(7)(74)(67)(95)(177)(113)(86)(40)(43)(71)(14)(10)(17)(12)(6)(20)(27)(54)(71)(97)(74)(32)(2)(24)(21)(62)(60)(36)(23)(27)(46)(34)(76)(63)(121)(141)(74)(54)(120)(77)(42)(4)(12)(19)(1)(9)(15)(19)(18)(16)(31)(79)(68)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'

我要回帖

更多关于 java 支付宝对账单cvs 的文章

 

随机推荐