图片压缩功能在JBoss AS7出错问题
近日在为平台(http://www.zyiqibook.com)做些小的整改,途中基本很顺利,但就在后面出现了些纠结的问题,而这问题我之前遇到过,因为一时没有想起来,又浪费了不少时间。现在正式把这问题记录下来,作为技术积累,往后就可以很好的处理类似的问题。

网 站的开发是在Eclipse中进行的,为了开发测试方便,安装了Jetty作为服务器,可以边开发边调式项目。我为平台添加一个相册艺廊模块,包含图片上 传、压缩、分页等功能,因为之前在同学朋友版块开发过班级相册功能,我有类似的经历,就把那个班级相册移植过来了(班级相册只在圈子里可见,相册艺廊则所 有人员可见)。需要说明的是后台图片压缩用到了com sun image codec jpeg JPEGCodec这个类,Eclipse中研发的比较顺利,调式也都通过,于是我需要把新功能更新到生产环境。

项目更新,需要把项目打 包,从本地上传到远程服务器,因为项目比较大,上传需要一定时间,为确保一次性更新,不出错,我把打包好的项目部署在本地的JBoss上面做最后一次测 试。系统正常跑起来后,不幸的是相册艺廊模块却出现bug了,图片上传失败。这种情况挺不好对付的,开发时正常,部署后却出错,现在想想,当时自己定位这 个问题的能力不是很好,导致拖了一段时间。要相信代码没有问题,是项目运行环境的问题,开发时用Jetty,现在用的是JBoss,那就得从服务器下手。 因为项目中我对异常做了封装,优化用户体验,界面提示的只是相片上传失败,控制台也没有打印错误信息(之前改了服务器配置导致的)。当时我返回开发环境再 走一遍检查代码,图片上传功能正常;后来才想到换一个Jboss部署看看,换了之后上传相片,Jboss控制台就显示了很明显的错误信息:Caused by: java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/JPEGCodec
这个问题我不是之前遇到过吗,项目刚上线,整的图片上传就是这问题,呵呵。这个是因为JBoss服务器而导致的,好像是后台对图片进行压缩的类JPEGCodec已经过时了,具体的就不清楚了,需要对JBoss配置文件做一些修改,问题即可解决。
在 新版Jboss as中,修改\modules\sun\jdk\main目录下的module.xml,在<paths>标签末尾加上<path name="com/sun/image/codec/jpeg"/>就可以了,至此,图片上传、压缩功能在Jboss环境中就正常了。

附 录:还有一个问题,页面、Struts我都配置了UTF-8编码,可是图片上传时,假如遇到中文文件名的图片,还是上传失败,是乱码导致的问题(英文命名 的图片上传没有问题)。中文命名的图片问题还被一个同学在使用系统时提出过,之前一直没有时间去想,所以就没去解决。在图片压缩上传问题解决后,给了我灵 感,所以也解决了中文文件名相片上传的问题。服务器Jboss的编码也需要配置声明,只有页面、服务器、系统都编码统一,才不会出现乱码。Jboss as修改编码的方式如下:
修改\standalone\configuration下面的standalone.xml文件,在<extensions>标签后添加以下配置即可,如:
<extensions>
......
</extensions>
<system-properties>
        <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
        <property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>

[转]图片压缩功能在JBoss AS7出错有关问题的更多相关文章

  1. Nginx开启gzip压缩功能

    在Nginx安装完成之后,我们可以开启Gzip压缩功能,这里Nginx默认只能对text/html类型的文件进行压缩.下面的指令为开启Gzip的指令: gzip on; gzip_http_versi ...

  2. C#图片压缩处理

    近期在做相冊功能遇到一个问题,就是载入图片的时候然后放大,感觉有点卡.图片可能有点大,所以考虑用缩略图来实现. 也就是在查询出来一个相冊图片  ,一页显示几十张,这几十张用缩略图来显示,看相信情况的时 ...

  3. android-xBuild apk差分与合成,zip差分与合成,lua打包,apk打包,png/jpg图片压缩

    android-xBuild 是一项集成了apk差分与合成,zip差分与合成,lua打包.apk打包,png/jpg图片压缩五大功能的开源项目 (github地址:https://github.com ...

  4. 每个人都要学的图片压缩终极奥义,有效解决 Android 程序 OOM

    # 由来 在我们编写 Android 程序的时候,几乎永远逃避不了图片压缩的难题.除了应用图标之外,我们所要显示的图片基本上只有两个来源: 来自网络下载 本地相册中加载 不管是网上下载下来的也好,还是 ...

  5. (转)Android学习-使用Async-Http实现图片压缩并上传功能

    (转)Android学习-使用Async-Http实现图片压缩并上传功能 文章转载自:作者:RyaneLee链接:http://www.jianshu.com/p/940fc7ba39e1 让我头疼一 ...

  6. 三款不错的图片压缩上传插件(webuploader+localResizeIMG4+LUploader)

    涉及到网页图片的交互,少不了图片的压缩上传,相关的插件有很多,相信大家都有用过,这里我就推荐三款,至于好处就仁者见仁喽: 1.名气最高的WebUploader,由Baidu FEX 团队开发,以H5为 ...

  7. JBoss AS7 快速配置

    作者:MinUnix  原文出处:http://www.minunix.com/2013/08/jboss-as7-01/  如需转载请注明出处! 文档下载:http://www.minunix.co ...

  8. PhpStudy如何开启Apache的gzip压缩功能?

    要让apache支持gzip功能,要用到deflate_Module和headers_Module. 打开apache的配置文件httpd.conf,大约在105行左右,找到以下两行内容:(这两行不是 ...

  9. ZH奶酪:PHP图片压缩(TinyPNG在线API)和(使用Imagick扩展)

    1.调用TinyPng网站提供的API 1.1.须知 (1)tinypng的官网:https://tinypng.com/ 不知道国内访问会不会很慢,在Singapore打开这个网站很流畅: (2)A ...

随机推荐

  1. Linux学习笔记2-CentOS7安装tomcat8

    1.下载tomcat:apache-tomcat-8.5.16.tar.gz 下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat ...

  2. NHibernet 事务 修改操作,事务没提交,数据库数据却同步(修改)了

    Nhibernet 缓存 由于查询出来的数据和缓存关联,更新之后就算事务没执行提交操作,数据库依旧会更新,解决方法, 清空缓存,实例不和缓存关联,如下面标红代码 public bool UpdateT ...

  3. Beta-星期五

    所属课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass 作业要求  https://edu.cnblogs.com/camp ...

  4. hibernate 插入Java.uitil.date时时分秒丢失问题解决

    <property name="cj_time" column="cj_time"/>  不需要手动定义类型(定义了只能精确到日) new Date ...

  5. ubuntu root用户 phpstorm软件不能使用中文输入法

    一. 在 ~/.bashrc 里面加入 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im ...

  6. spring aop 的五种通知类型

    本文转自:http://blog.csdn.net/cqabl/article/details/46965197 spring aop通知(advice)分成五类: 前置通知[Before advic ...

  7. PHP curl_copy_handle函数

    curl_copy_handle — 复制一个cURL句柄和它的所有选项 说明 resource curl_copy_handle ( resource $ch ) 复制一个cURL句柄并保持相同的选 ...

  8. ckeditor实现WORD粘贴图片自动上传

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  9. linux 正则表达式与实践

    正则表达式基础 准备 (1)alias grep='grep --color=auto' 易于显示 (2)LC_ALL=C,字符集,设置环境变量,字符顺序 基础正则 1)^word  匹配以Word开 ...

  10. 如何在浏览器上安装 VueDevtools工具

    火狐浏览器直接打开附加组件中,搜索 VueDevtools,找到安装即可. 谷歌浏览器--更多工具--扩展程序--打开下载好的VueDevtools整体拖进去就行了