




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Strust应用技术深入(1),在本讲您能了解如下知识点Strust中的多配置文件在Struts中配置DataSource实现国际化的StrutsWeb应用系统在Struts中处理中文编码问题,1、Strust中的单模块多配置文件,(1)为什么要提供该技术的支持在一个实际的应用系统中会有多各不同的子模块,同时每个不同的模块是由不同的开发人员来实现的如果只提供一个配置文件,将会导致修改的冲突的问题,(2)Struts支持多配置文件在Struts1.1以上提供了对多配置文件的支持,也就是为ActionServlet同时指定多个xml配置文件这种方法可以很好地解决修改冲突的问题,不同的开发人员可以在不同的配置文件中完成自己的Action、ActionForm等的设置,同时指定多个xml配置文件,文件之间以逗号分隔,(3)实现的方法:在Web.xml文件为ActionServlet提供各个配置文件的定位信息,各个文件名称之间以逗号分隔,(4)多个配置文件的存放位置,一般仍然放在WEB-INF的目录下,同时保证有一个主配置文件struts-config.xml和若干个子配置文件struts-config_XXXX.xml,(5)各个模块的配置文件的命名规则仍然采用struts-config_XXXX.xml,而其中的“XXXX”代表子模块的名称如:struts-config_userManager.xml代表用户管理模块,(7)请见文档中的应用示例,(6)各个配置文件中的配置内容的划分struts-config.xml主配置文件中的内容存放与全局信息相关的配置项目struts-config_XXX.xml子配置文件中的内容存放与该子模块相关的特定的局部配置项目,2、在Struts中配置DataSource,(1)JDBC2.0中的javax.sql.DataSource接口的实现,注意:它是由不同的应用服务器平台最终来实现的,目前各个主流的J2EE应用服务器都提供了对DataSource的支持,您知道为什么要使用数据库连接池吗?,(2)Struts中的DataSource管理器在Struts中也提供了对DataSource的支持实现(即Jakarta提供的公共连接池实现-Apache的DBCP),其类的全路径为mons.dbcp.BasicDataSourceStrutsDataSource管理器是通过在Struts配置文件struts-config.xml中进行配置和定义,(3)基于Struts的Web应用中的数据库连接方案使用在容器中所提供的对DataSource的支持实现使用在Struts本身所提供的对DataSource的支持实现,最好使用Struts本身的DataSource以达到与容器部署的无关性,与StrutsDataSource相关的*.jar包,注意:在中所提供的Struts的系统包分为核心API的*.jar文件和DataSource相关的*.jar包文件两部分,(4)在Struts中实现数据源的基本步骤下载与StrutsDataSource相关的*.jar包,修改本Web应用程序的struts-config.xml文件以添加对数据源的配置,如果有多个不同的数据源时应该以Key值区分,在Action类中获得该数据源对象,然后利用DataSource接口中的getConnection()方法获得Connection对象,并将该Connection对象传递给DAO组件,(5)应用示例-NetBook,3、实现国际化的StrutsWeb应用系统,(1)国际化和本地化程序概述国际化(Internationalization-i18n)就是设计一个应用系统,以使之能够不经过工程的修改就可以使用于各种不同的语言和区域场所本地化(Localization-l10n)通过添加特定场所的组件和翻译文本来使软件适用于特定的场所和语言的过程如我们经常所进行的“汉化”工作,(2)本地化那些内容当一个软件产品需要在全球范围应用的时候,我们就得考虑在不同的地域和语言环境下面的使用情况(也就是国际化问题)最简单的要求就是UI上的信息上能用本地化语言来显示,(3)本地化的主要内容提示和帮助语言的版本问题界面定制个性化问题日期和货币等,(4)为什么要对系统进行国际化我们花费了大量的精力来开发自己的Web应用,当然都希望在应用的开发上得到更大的投资回报。因为互联网连接着世界各地,每个应用都可以面对国际的受众。如果某个应用可以被本地化,那么它就可以被更多的访问者所访问,(5)国际化的应用系统的基本要求能够自动地区分不同的应用场所(语言环境)使用同一个可执行包根据不同的场所显示相应的信息和提示;在不重新编译的情况下通过提供对新的场所的扩展包就能够自动地对新的语言环境加以支持;自动格式化与场所和语言相关的敏感条目和信息(比如日期和货币),为相应的场所和语言支持的格式,我们可以观察一下,google是否满足上面的四点要求!,如果我们也要开发此种系统,哪应该怎样来面对不同的语言的人群呢?,(6)Java语言平台下对国际化的技术支持,(7)国际化程序的特征文本元素在程序中不进行硬编码,它们存储于源代码之外,可自动进行动态检索通过使用附加的本地化数据,同一可执行程序可在世界各地运行支持新的语言时无须重新编译,并且与文化有关的数据(如日期和货币),其格式根据最终用户的地区和语言而定并可以迅速进行本地化,(9)资源文件的命名规则,(8)在Struts中实现国际化Web应用系统的基本思路把资源文件按照各个语言翻译一遍把这些文件按照国际化程序的要求命名好并放置在同一个目录即可。例如ApplicationResource_en_US.propertiesApplicationResource_zh_TW.properties,(10)各个国家和语言的标示-参考IE浏览器内的标示,(11)应用实例:创建国际化Web应用系统,将NetBook项目国际化,第一步:建立默认的资源文件,并在其中提供本项目的各个字符内容,注意当容器无法找到与某一字符集相匹配的资源文件时将采用该默认的资源文件中的内容一般该文件中的内容应该为英文以实现通用化,第二步:在Struts的struts-config.xml文件中添加对资源文件的定位的说明,默认的资源文件名称,根此容器可以获得其它语言的资源文件名称,说明资源文件所在的相对目录名称(以classes为启始目录),注意:因此资源文件的物理目录定位应该如下所示,第三步:建立各个语言平台下的资源文件中文的资源文件ApplicationResources_zh_CN.properties美国的资源文件为ApplicationResources_en_US.properties台湾的资源文件为ApplicationResources_zh_TW.properties,您能够看懂这些信息吗?,因为java的国际化是通过unicode码来实现,所以在ApplicationResources_zh_CN.properties文件中应该存放中文字符串的unicode码;执行JDK中所带的native2ascii转换工具可以实现转换,注意:,第四步:改变浏览器中的不同语言模块来进行测试(1)以英文环境执行该StrutsWeb程序,重新启动IE后,输入该Struts页面的URL地址后,将见到英文的页面内容,安装英语(美国)语言模块打开IE的“工具”-“Internet选项”菜单,“常规”选项卡,点击其中的“语言”按钮,添加“英语(美国)-en-us”语言,将其他的语言删除。,(2)以中文方式执行该StrutsWeb程序,重新启动IE后,输入该Struts页面的URL地址后,将见到中文的页面内容,安装中文语言模块打开IE的“工具”-“Internet选项”菜单,“常规”选项卡,点击其中的“语言”按钮,添加“中文(中国)-zh-cn”语言,将其他的语言删除。,1、问题的起源(1)字符编码集(2)Unicode编码集及本地化转换Java语言内部是用Unicode表示字符的,遵守UnicodeV2.0。Java程序无论是从/往文件系统以字符流读/写文件,还是往URL连接写HTML信息或读取参数值,都需要进行Unicode本地编码集的转换。*.java-*.class-show,4、在Struts中处理中文编码问题,(3)为什么在Java平台开发中经常会出现乱码问题从理论上来说,这些根据Unicode字符集设置而进行的向本地字符集进行转换的工作不应该产生太多问题。而事实是由于应用系统的实际运行环境不同,以及系统或应用开发工具、数据库系统等实现的不规范,转码时出现的问题,乱码多数是由于编码与解码所使用的方式不同造成的,2、了解Web应用中的数据流,其中容易出现乱码的节点是在浏览器-Web服务器中的Web组件Web组件-数据库系统,3、Html和JSP页面中的中文字符串的处理(1)静态HTML页面中文信息不能正确显示,(2)JSP页面的中文提示信息在浏览器端不能正确显示,4、HTTP请求中的中文字符串的处理-非Struts框架的Web组件(1)原因:由于在默认的情况下,浏览器发送请求采用“ISO-8859-1”的字符编码,(2)采用前端Filter进行统一转换request.setCharacterEncoding(GB2312);,(3)在某一组件(JSP页面或者Servlet)中进行如下的编码方法的转换request.setCharacterEncoding(GB2312);(4)也可以采用如下的方法对所接受的参数进行编码转换(AJAX),(5)对于Weblogic服务器,也可以在web.xml文件中加入如下的设置项目,5、HTTP请求中的中文字符串的处理-Struts框架的Web组件(1)采用与Servlet相同的解决方法,(2)原因,(2)解决的方法:定制ActionServlet类并通过对它进行继承以扩展它(3)在本ActionServlet类中重写process方法,注意:一定要对基类中的process()方法进行调用。也可以继承RequestProcessor类并重写processPreprocess方法,(4)修改web.xml文件以设置该ActionServlet类并提供其它的初始参数,(2)或者在WebLogic.xml中进行如下的设置,6、HTTP响应中的中文字符串的处理(1)在Servlet中利用setContentType(),7、有关数据库中的读写时的中文字符串的处理(1)处理从数据库中读出数据的中文编码问题如果数据库系统的字符编码为“GB2312”,则直接可以读出而无需要进行转换。如果数据库系统的字符编码为ISO-8859-1,那么必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贫困县摘帽培训课件
- 贪污受贿类犯罪课件
- 2025年金融行业数字货币支付市场前景分析研究报告
- 2025年林业农业行业生态农业发展与农产品安全质量研究报告
- 云大就业协议书
- 2025年智能办公行业智能办公设备市场趋势预测研究报告
- 2025年文化创意行业数字版权保护措施研究报告
- 2025年清洁能源行业太阳能光伏技术应用前景研究报告
- 2025年药学统计药物治疗效果统计与分析模拟测试卷答案及解析
- 2026华能陕西发电有限公司新能源分公司招聘高校应届毕业生笔试模拟试题及答案解析
- 生产主管转正工作总结
- 工艺美术运动代表人物及作品
- (完整版)高考英语考纲3500词汇表
- 国家开放大学电大《课程与教学论》形考任务3试题及答案
- 商务英语口语900句
- 辽宁省沈阳市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 锅炉空预器清洗方案
- SF∕T 0111-2021 法医临床检验规范
- 药敏试验结果的解读
- DB14∕T 1319-2021 公路工程标准工程量清单及计量规范
- 冶金行业应用产品介绍(应用)
评论
0/150
提交评论