J2EE企业级软件开发之:Web应用开发常见问题_第1页
J2EE企业级软件开发之:Web应用开发常见问题_第2页
J2EE企业级软件开发之:Web应用开发常见问题_第3页
J2EE企业级软件开发之:Web应用开发常见问题_第4页
J2EE企业级软件开发之:Web应用开发常见问题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java EE企业级软件开发 Web应用开发常见问题 2014 洛阳师范学院 吕延庆 本节内容提纲 n中文问题 n文件上传 n文件下载 nJFreeChart图表开发 n分页显示 n国际化 n部署 中文问题 n产生乱码问题的根本原因:编码方案不同 n产生乱码的各种情况: q从JSP页面的表单提交数据Java程序(如Servlet) q从Java程序(如Servlet)跳转到JSP页面显示 q从数据库Java程序(如DAO层代码)读取 q从Java程序(如DAO层代码) 数据库存储 q从其他类型文件Java程序读取 q从Java程序写入其他类型文件 常见字符集 nASCII 7位编码,含128个

2、常用字符 nGB2312 含6763个汉字(缺少生僻字) nGBK 含21003个汉字,兼容GB2312 nGB18030 除70000多个汉字外,还有藏、蒙、彝文等,兼容GB2312和GBK nUnicode 有三套编码方式,即UTF-8, UTF-16, UTF-32 nUTF-8 网络传输通用,英文8位,中文24位 nISO8859-1 又称为Latin-1,8位编码,西欧字符,兼容ASCII nBIG-5 称为大五码,繁体字,13060个,台港澳通用 解决乱码问题的方式 1) 检查JSP页面或HTML页面 a) page指令的contentType属性和pageEncoding属性 b

3、) META标签的charset属性 2)在Java程序中 a) request.setCharacterEncoding(“字符编码名”); b) new String( name.getBytes(“ISO8859-1”),”UTF-8”); 3) 数据库连接中(以MySQL为例) a) 安装时选定默认字符集 b) JDBC url “jdbc:mysql:/localhost:3306/mytest?characterEncoding=utf-8” 文件上传 njspSmartUpload组件 q缺点:原有组件未能很好处理中文文件名 q优点:使用较简单 nApache FileUploa

4、d组件 q缺点:使用稍复杂 q优点:适用性较好,无中文乱码问题 文件下载 njspSmartUpload组件的实现 图表开发 nJFreeChart图表 q优点:纯Java实现 q缺点:输出是图片,交互能力有限 n其他Web图表实现 qJavaScript组件 (如 Flot) qFlash组件 qHtml5组件 qSVG组件 JFreeChart示例 分页显示 n分页显示的应用场合 qJSP上用于显示记录数量太多,分页能避免服务器 负担过重。 n分页显示的两种思路 q一次性全部从数据库获取全部记录,用Java程序实 现分页 n减少数据库操作,但占用Java服务器(如Tomcat)的资源 q用

5、SQL语句实现分页 n占用Java服务器(如Tomcat)资源少,但频繁操作数据库 分页显示的思路 n分页显示时,需得到以下参数: q总记录数: totalRecords q每页显示记录数: recordsPerPage q总页数: pageSize = totalRecords / recordsPerPage + 1 q当前页码(从1开始计数): currentPage q这里需要确定的是totalRecords(一般由数据库查询获得 ,select count(*) from )、recordsPerPage(一般在 用户选项中指定)、currentPage(用户页面输入决定) 分页显示

6、用SQL实现 n以MySQL为例: select * from mytable LIMIT M, N 表示从满足条件的全部记录中,从第M条记录开始 检索共N条记录。 N = recordsPerPage “上一页”的 M =(currentPage-1)*recordsPerPage+1 “下一页”的 M =(currentPage+1)*recordsPerPage+1 国际化 n国际化,Internationalization( i18n) q文本显示不是硬编码在程序中,而应该提供独立的 资源文件 q与地域有关的日期、货币、数字化表示能根据系统 自动变化 nJava内置了国际化支持 qja

7、va.util.ResourceBundle qjava.util.Locale qjava.text.MessageFormat 国际化 n资源文件命名的方式: 基本名_语言名_国家名.properties 例如:ApplicationResources_zh_CN.properties MyResource_en_US.properties MyResource_fr_FR.properties n资源文件转换方法:JDK提供的native2ascii.exe 国际化:native2ascii使用方式 国际化示例 public class TestI18N public static vo

8、id main(String args) Locale currentLocale=new Locale(zh,CN); /设定设定语言语言和和国家国家 ResourceBundle messages= ResourceBundle.getBundle(MyResources,currentLocale); System.out.println(messages.getString(hello); System.out.println(messages.getString(greeting); System.out.println(messages.getString(bye); 部署Java

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论