[转]图片压缩功能在JBoss AS7出错有关问题
图片压缩功能在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出错有关问题的更多相关文章
- Nginx开启gzip压缩功能
在Nginx安装完成之后,我们可以开启Gzip压缩功能,这里Nginx默认只能对text/html类型的文件进行压缩.下面的指令为开启Gzip的指令: gzip on; gzip_http_versi ...
- C#图片压缩处理
近期在做相冊功能遇到一个问题,就是载入图片的时候然后放大,感觉有点卡.图片可能有点大,所以考虑用缩略图来实现. 也就是在查询出来一个相冊图片 ,一页显示几十张,这几十张用缩略图来显示,看相信情况的时 ...
- android-xBuild apk差分与合成,zip差分与合成,lua打包,apk打包,png/jpg图片压缩
android-xBuild 是一项集成了apk差分与合成,zip差分与合成,lua打包.apk打包,png/jpg图片压缩五大功能的开源项目 (github地址:https://github.com ...
- 每个人都要学的图片压缩终极奥义,有效解决 Android 程序 OOM
# 由来 在我们编写 Android 程序的时候,几乎永远逃避不了图片压缩的难题.除了应用图标之外,我们所要显示的图片基本上只有两个来源: 来自网络下载 本地相册中加载 不管是网上下载下来的也好,还是 ...
- (转)Android学习-使用Async-Http实现图片压缩并上传功能
(转)Android学习-使用Async-Http实现图片压缩并上传功能 文章转载自:作者:RyaneLee链接:http://www.jianshu.com/p/940fc7ba39e1 让我头疼一 ...
- 三款不错的图片压缩上传插件(webuploader+localResizeIMG4+LUploader)
涉及到网页图片的交互,少不了图片的压缩上传,相关的插件有很多,相信大家都有用过,这里我就推荐三款,至于好处就仁者见仁喽: 1.名气最高的WebUploader,由Baidu FEX 团队开发,以H5为 ...
- JBoss AS7 快速配置
作者:MinUnix 原文出处:http://www.minunix.com/2013/08/jboss-as7-01/ 如需转载请注明出处! 文档下载:http://www.minunix.co ...
- PhpStudy如何开启Apache的gzip压缩功能?
要让apache支持gzip功能,要用到deflate_Module和headers_Module. 打开apache的配置文件httpd.conf,大约在105行左右,找到以下两行内容:(这两行不是 ...
- ZH奶酪:PHP图片压缩(TinyPNG在线API)和(使用Imagick扩展)
1.调用TinyPng网站提供的API 1.1.须知 (1)tinypng的官网:https://tinypng.com/ 不知道国内访问会不会很慢,在Singapore打开这个网站很流畅: (2)A ...
随机推荐
- psfgettable - 从控制台字体中提取出嵌入的Unicode字符表
总览 psfgettable 字体文件 [输出文件] 描述 psfgettable 命令从一个 .psf 格式的控制台字体中提取出嵌入的 Unicode字符表, 以易读格式输入到一个ASCII文件, ...
- django 常用 import
from django.shortcuts import HttpResponse, render, redirect def yimi(request): #直接返回页面内容 return Http ...
- [NOIP2017普及组]跳房子(二分,单调队列优化dp)
[NOIP2017普及组]跳房子 题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一. 跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 nn 个格子, ...
- Sass-颜色运算
所有算数运算都支持颜色值,并且是分段运算的.也就是说,红.绿和蓝各颜色分段单独进行运算.如: p { color: #010203 + #040506; } 计算公式为 01 + 04 = 05.02 ...
- java 字符串获取
package java07; /* String 当中与获取相关的常用方法 public int length(); 获取字符串当中含有的字符的个数,得到字符串的长度 public String c ...
- javascript中数组元素删除方法splice,用在for循环中巨坑
一.demo splice: 该方法会改变自动原始数组长度 实例: var array = ["aa","dd","cc","aa ...
- java基础复习(二)
一. 基本语法 如果一个源文件中什么内容都没有,编译会不会生成 字节码文件?不会 如果一个类中没有主方法(如下图),编译运行会怎么样?编译可以通过,但运行报错 : 没有主方法 主方法 : 是一个特殊的 ...
- windows之cmd常用命令
一.简单介绍 CMD全称command,即命令提示符,是内置在windows图形操作系统内的磁盘操作系统,通过CMD可以方便用户查询比较复杂的信息或快速查找实现某些功能等,比如说打开文件.系统设置等操 ...
- Struts2基础-4-2 -struts拦截器实现权限控制案例+ 模型驱动处理请求参数 + Action方法动态调用
1.新建项目,添加jar包到WEB-INF目录下的lib文件夹,并添加到builde path里面 整体目录结构如下 2.新建web.xml,添加struts2核心过滤器,和默认首页 <?xml ...
- mock.js模拟生成假数据
mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可生成你想要的数据 <!DOCTYPE html> ...