`
snoopy7713
  • 浏览: 1151952 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

Eclipse rcp/rap 开发经验总结(8) - 发布到tomcat后解决rap编码和字符集的问题

    博客分类:
  • RAP
阅读更多

1 、解决 rap 字符集乱码的问题

    字符集问题,解决办法:   在plugin.xml - build.properties 中添加

      javacDefaultEncoding.. = UTF-8   即可解决字符集乱码


2、解决web前台输入乱码问题

    使用传统的 字符集过滤器


    写一个过滤器类

 

 

Java代码  收藏代码
  1. <span style= "font-size: small;" > public   class  CharacterEncodingFilter  implements  Filter  
  2. {  
  3.   private  String edcoding;  
  4.   
  5.   private  FilterConfig filterConfig;  
  6.   
  7.   private   boolean  ignore;  
  8.   
  9.   public  CharacterEncodingFilter()  
  10.   
  11.   {  
  12.     this .edcoding =  null ;  
  13.   
  14.     this .filterConfig =  null ;  
  15.   
  16.     this .ignore =  true ; }  
  17.   public   void  destroy() {  
  18.   
  19.     this .edcoding =  null ;  
  20.   
  21.     this .filterConfig =  null ;  
  22.   
  23.   }  
  24.   
  25.   public   void  doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)  throws  IOException, ServletException  
  26.   
  27.   {  
  28.   
  29.     if  (( this .ignore) || (request.getCharacterEncoding() ==  null )) {  
  30.   
  31.       String encoding = setCharacterEncoding(request);  
  32.       if  (encoding !=  null )  
  33.   
  34.         request.setCharacterEncoding(encoding)  
  35.   
  36.     }  
  37.   
  38.   
  39.     filterChain.doFilter(request, response);  
  40.   
  41.   }  
  42.   
  43.   
  44.   
  45.   public   void  init(FilterConfig filterConfig)  throws  ServletException {  
  46.     this .filterConfig = filterConfig;  
  47.     this .edcoding = filterConfig.getInitParameter( "encoding" );  
  48.     String value = filterConfig.getInitParameter("ignore" );  
  49.   
  50.     if  (value ==  null )  
  51.       this .ignore =  true ;  
  52.     else   if  (value.equalsIgnoreCase( "true" )) {  
  53.       this .ignore =  true ;  
  54.     }  
  55.     else   
  56.       this .ignore =  false ;  
  57.   }  
  58.   public  String setCharacterEncoding(ServletRequest request)  
  59.   
  60.   {  
  61.   
  62.     return   this .edcoding;  
  63.   
  64.   }  
  65.   
  66. }  
  67.   
  68. </span>  

 

 

 

 

 

然后达成 jar 包方式到 war /WEB_INF/lib 目录下面

web.xml 添加

 

 

 

rap 导出 war 包时,编码问题处理,加入了字符过滤器的处理方式

1. 在导出 WAR 后,修改 war 包里面的 web.xml 文件,添加过滤器,


 

内容如下


 

Java代码  收藏代码
  1. <span style= "font-size: small;" ><span>  <filter>    
  2.   
  3.         <filter-name>CharacterEncodingFilter</filter-name>    
  4.   
  5.         <filter-class >com.encoding.CharacterEncodingFilter</filter- class >    
  6.   
  7.         <init-param>    
  8.   
  9.             <param-name>encoding</param-name>    
  10.   
  11.             <param-value>UTF-8 </param-value>    
  12.   
  13.         </init-param>    
  14.   
  15.     </filter>    
  16.   
  17.     <filter-mapping>    
  18.   
  19.         <filter-name>CharacterEncodingFilter</filter-name>    
  20.   
  21.         <url-pattern>/*</url-pattern>    
  22.   
  23. </filter-mapping>  
  24.   
  25. </span>  
  26.   
  27. </span>  

 

 

 

2. 增加 jar

   把过滤器要用的 jar 包【 encoding.jar 】添加到导出的 WAR 包的 lib 下面,这样     WAR 包加载后,能够找寻到过滤器用到的类。

 

 

 

上面 2 部分可以保证完美的解决中文问题

分享到:
评论

相关推荐

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz) 适用于Linux x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-win32-x86_64.zip

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-win32-x86_64.zip) 适用于Windows x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg) 适用于macOS x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse RCP Plug-in开发自学教程.pdf

    RCP插件式开发方式可以重用eclipse中的方法和编码模式,提高开发效率和代码复用率。然而,Eclipse RCP的学习曲线可能较陡,需要一定的Java基础和Eclipse基础知识。 本教程旨在帮助读者自学Eclipse RCP插件式开发,...

    eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz) 适用于Linux aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    Eclipse Rcp

    最后,Eclipse RCP的发展带来了Java桌面应用程序开发的新希望,它允许开发者利用Eclipse的强大功能和成熟的插件生态,来构建功能丰富、外观一致的客户端应用,同时避免了大量重复的界面开发工作。Eclipse RCP的应用...

    eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg) 适用于macOS aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    RCP 开发工具 eclipse-rcp-2020-06-R-linux-x86

    这个"eclipse-rcp-2020-06-R-linux-x86"压缩包包含的"Eclipse"文件可能是Eclipse RCP的安装程序,安装后开发者将得到一个完整的开发环境,可以开始构建和调试基于Eclipse RCP的桌面应用程序。在Linux x86(AMD)平台...

    eclipse rcp应用系统开发方法与实战源代码.zip

    通过这个压缩包中的教程和源代码,开发者不仅可以学习到Eclipse RCP的基本概念,还能掌握实际的开发技巧,从而构建出功能完善的桌面应用程序。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。

    eclipse-jee-2018-09-win32-x86_64.zip

    8. **RCP和RAP框架**:Eclipse Rich Client Platform (RCP) 和 Rich Ajax Platform (RAP)允许开发人员构建自己的桌面应用程序和Web应用,2018-09版本可能包含相关更新和改进。 9. **持续集成**:Eclipse与Jenkins、...

    Eclipse RCP 软件打包发布方法

    以下是Eclipse RCP软件的打包和发布流程,详细解释了如何创建产品配置、集成JRE、添加闪屏等关键步骤。 1. **新建“产品配置”**:在Eclipse中,你需要通过"File" -&gt; "New" -&gt; "Other" -&gt; "Plug-in Development" -&gt;...

    Eclipse RAP Deploy - 针对Eclipse 3.5 + Tomcat

    Eclipse RAP Deploy 是一个关于如何在Eclipse 3.5环境下部署RAP应用程序,并结合Tomcat服务器进行运行的教程。RAP(RWT Application Platform)是用于构建富客户端Web应用的框架,它允许开发者使用Java SWT...

    ECLIPSE+RCP应用系统开发方法与实战(PDF 高岗著)

    8. **事件机制**:讲解Eclipse RCP中的事件订阅和发布机制,以及如何利用事件来协调组件间的通信。 9. **插件开发**:RCP的核心是插件,书中会详细介绍插件的生命周期、依赖关系,以及如何编写和调试插件。 10. **...

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar

    该压缩包 "eclipse-rcp-2022-06-R-linux-x86_64" 中包含的主要文件是 "eclipse-rcp-2022-06-R-linux-x86_64",这可能是一个可执行的Eclipse IDE实例,用于在Linux系统上支持RCP和RAP的开发。为了运行这个IDE,你需要...

    eclipse-rcp-2023-12-R-linux-gtk-aarch64.tar.gz

    在2023年的最新版本"eclipse-rcp-2023-12-R"中,Eclipse团队为Linux ARM架构的用户带来了专门的版本——"linux-gtk-aarch64",这表明Eclipse RCP已经充分考虑到了多样化的硬件平台需求。 1. **Eclipse RCP核心特性*...

    eclipse-rcp-juno-SR2-win32-x86_64.zip

    综上所述,"eclipse-rcp-juno-SR2-win32-x86_64.zip"是一个用于开发Windows 64位系统桌面应用程序的Eclipse RCP环境,包含丰富的开发工具和强大的插件支持,为开发者提供了一个高效、可扩展的平台。

    eclipse plug-in/rcp 开发方法详解03

    - 使用Eclipse IDE本身来开发Eclipse插件和RCP应用,利用"Plug-in Development Environment"(PDE)工具集。 - PDE提供模板、向导和调试工具,简化了插件和RCP应用的创建过程。 4. **工作台(Workbench)**: - ...

    eclipse-rcp-2023-12-R-win32-x86-64.zip

    eclipse-rcp-2023-12-R-win32-x86_64.zip 适用于Windows系统

    eclipse-rcp-2023-09-R-linux-gtk-x86-64.tar.gz

    本压缩包“eclipse-rcp-2023-09-R-linux-gtk-x86_64.tar.gz”是专为Linux x86_64架构设计的版本,包含了最新的Eclipse RCP开发环境。 首先,我们要理解Linux x86_64,这代表了64位的Linux操作系统。与32位系统相比...

    Eclipse RCP(富客户端平台)开发中文语言包_3.6.0.rar

    Eclipse RCP(Rich Client Platform)是Eclipse IDE的一个核心组成部分,它提供了一个框架和工具集,用于构建桌面应用程序。Eclipse RCP允许开发者利用Java和SWT(Standard Widget Toolkit)构建功能丰富的、可定制...

Global site tag (gtag.js) - Google Analytics