`
seaman
  • 浏览: 19782 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Websphere与Tomcat的差异

阅读更多

由于公司开发环境用的是tomcat,测试环境用的是websphere,所以经常造成很多奇奇怪怪的问题,例如我上一篇笔记中写到的pageContextImpl的问题等等,这里对工作中遇到的另外两个问题做一下记录。

1、page Content-Type的问题

 在tomcat中,如果a.jsp包含b.jsp,那么a.jsp和b.jsp两个文件上都要加上<!---->,否则jsp页面上会出现中文乱码,然而在websphere上,如果a.jsp和b.jsp上都存在<!----> 的话,那么将抛出异常:不能出现多个 contentType', 没办法只能在开发环境和测试环境维护两个版本,希望能找到更好的解决办法,也希望业界能统一标准。

2、request.getRequestURL() 的问题

我们将mytest.action 通过配置文件映射到mytest.jsp文件上,mytest.jsp的内容为:

java 代码
  1. <% request.getRequestURL()%>  

如果你在浏览器中输入地址http://localhost:8080/mytest.action,在tomcat下返回的值是http://localhost:8080/mytest.action,而在websphere5.1上将返回的是解析过以后的真实的jsp地址:http://localhost:8080/mytest.jsp

身价几十万的WAS比免费的Tomcat确实要高贵许多,而且也挑剔得很,不过我们这些程序员为了口饭吃,还是要小心的伺候着。

 

分享到:
评论
1 楼 lanxing 2007-03-22  
web应用中 jsp 的page contentType的不能重复的问题

在tomcat中,如果a.jsp包含b.jsp,那么a.jsp和b.jsp两个文件上都要加上< %@ page contentType="text/html;charset=GBK" % >,否则jsp页面上会出现中文乱码,然而在websphere上,如果a.jsp和b.jsp上都存在< %@ page contentType="text/html;charset=GBK" % >的话,那么将抛出异常:不能出现多个 contentType', 出现这种情况,




解决方法为:将b.jsp中的< %@ page contentType="text/html;charset=GBK" % >去掉。


用以上的方法解决的话,会导致你的web应用程序代码在jboss和websphere不一致, 如果你想保持在jboss和websphere版本上的兼容的话,可以采用如下的方式。在servlet2.4的规范中,利用jsp-config 来制定pageEncoding为gbk(参考资料3),这样的话,在jsp页面中都不需要加上< %@ page contentType="text/html;charset=GBK" % >,在tomcat4.1以上的版本就已经支持servlet2.4了,但是在websphere5.1上只支持j2ee1.3,servlet支持到2.3,不支持2.4,最新的websphere 6支持j2ee1.4(servlet支持到2.4),如果你想在websphere5.1上保持应用程序和jboss上兼容的话,那么你可以在两个种版本中应用不同的web.xml,即在websphere5.1的版本上用servlet2.3的规范、jboss的tomcat中用servlet2.4的规范。


新的问题,如果只在websphere5.1上使用的话,a.jsp用静态方式包含b.jsp文件的话,由于只能在a.jsp上用< %@ page contentType="text/html;charset=GBK" % >,b.jsp上不能加上此行语句。如果b.jsp文件也需要单独进行访问的话,那么b.jsp文件将会出现乱码。


解决方法:由于b.jsp可以单独访问,所以b.jsp是可以独立a.jsp存在的,那么就不应该用静态包含(< %@include ...)应该将a.jsp换成动态包含b.jsp的方式(< jsp:include.../ >)

相关推荐

    Websphere下部署与tomcat程序配置的差异

    Websphere 部署与 Tomcat 程序配置的差异 Websphere 是 IBM 公司的一款流行的 Java EE 服务器,而 Tomcat 是 Apache 软件基金会的一款开源的 Java Web 服务器。它们都是 Java Web 开发中常用的服务器,但是在部署和...

    WebLogic、WebSphere、JBOSS、Tomcat之间的区别

    在中间件领域中,WebLogic、WebSphere、JBOSS、Tomcat 等四大应用服务器之间存在着很大的区别,今天我们将从多个角度来比较它们之间的差异。 1. 产品介绍 WebLogic 是美国 BEA 公司出品的一个基于 J2EE 架构的...

    jmx监控weblogic,tomcat,websphere源码

    在本项目中,"jmx监控weblogic,tomcat,websphere源码"涉及了使用JMX来监控三个主流的Java应用服务器:WebLogic、Tomcat和WebSphere。这些服务器都是企业级应用部署的常见选择,对它们的监控对于确保系统性能、稳定性...

    Tomcat Was7 javax.servlet.forward.request_uri属性的差异

    这篇博客文章可能探讨了在Tomcat和WebSphere AS 7中使用`javax.servlet.forward.request_uri`属性时的行为差异。在Servlet规范中,当一个请求被转发到另一个内部资源时,这个属性用于保留原始请求的URL,以便后续...

    生成自验证证书、websphere设置https

    同时,不同版本的WebSphere可能在界面和操作流程上会有所差异,因此在实际操作时要参考对应版本的官方文档和指导。 此外,生成自验证证书的目的是为了安全测试和开发,而自签名证书并不能保证在真实环境中的安全性...

    Java应用服务器 Tomcat

    6. **与其他应用服务器比较**:虽然Tomcat轻量且易于使用,但大型企业级应用可能需要更强大的服务器,如JBoss、WebLogic或WebSphere,这些服务器提供了更多的管理和集成功能。 总的来说,Java应用服务器Tomcat是...

    websphere_weblogic

    这篇博客文章深入探讨了IBM的WebSphere应用服务器与BEA(后来被Oracle收购)的WebLogic应用服务器之间的差异和相似性。作者从架构、性能、易用性、扩展性和成本等多个角度进行了详细的比较,旨在帮助读者理解这两个...

    EOS多数据源vTomcat里的配置

    在常见的中间件如WebLogic、Jboss和Tomcat中,配置多数据源的基本原理是类似的,但具体的配置文件位置和格式可能有所差异。本文将详细讲解如何在Tomcat环境中配置EOS多数据源。 ### 第一步:EOS管理控制台配置 ...

    Weblogic WebShare tomcat安装部署手册

    WebSphere服务器的安装和数据源配置过程,虽然与Weblogic存在一些差异,但大体步骤和概念是相通的。 例如,在WebSphere的安装过程中,首先需要启动IBM Installation Manager,然后按照向导的提示选择安装文件、同意...

    bootiful-websphere

    3. **Spring Boot与WebSphere集成**:学习如何在WebSphere上部署Spring Boot应用,可能包括创建WAR或EAR文件,配置服务器适配器,以及理解Spring Boot与传统应用服务器生命周期的差异。 4. **微服务架构**:Spring ...

    web服务器和应用服务器.docx

    4. 配合使用:在实际部署中,Web服务器(如Apache)经常与应用服务器(如Tomcat)配合,Apache处理静态内容,Tomcat处理JSP等动态内容。 5. 轻量级与重量级:Tomcat有时被视为轻量级应用服务器,因为它专注于...

    APACHE是一个web服务器环境程序

    - **轻量级**: 相较于其他Java EE服务器(如IBM WebSphere、Oracle WebLogic),Tomcat更加轻量级,适合小型项目或开发测试环境。 ##### 2.2 与Apache的区别 - **服务范围**: Apache主要是作为HTTP服务器,用于...

    servlet的系统学习资料

    理解C/S与B/S架构的差异,熟悉Web服务器和容器的工作原理,以及如何在MyEclipse这样的集成开发环境中创建和部署Servlet应用,是成为一名合格的Java Web开发者的基础。通过不断学习和实践,开发者可以构建出高效、...

    润乾报表4.0在J2EE下的部署.pdf

    6. **发布报表应用**:根据不同的应用服务器(如Tomcat、WebSphere、WebLogic等)进行相应的部署。 #### 二、WEB应用配置 ##### 2.1 创建新应用 若不是与已有应用集成,则需要创建一个新的应用目录。例如,可以...

    主流应用服务器对webContainer的配置对比分析new.doc

    本篇文章将深入对比分析四大主流应用服务器——Glassfish、Geronimo、Websphere和Weblogic对WebContainer的配置差异。 首先,我们来看Glassfish。作为开源的应用服务器,Glassfish提供了丰富的Web容器配置选项。...

    java中间件之weblogic

    2. **WebLogic与Tomcat的区别** - **功能性**:WebLogic作为一款全面的J2EE应用服务器,包含EJB、JSP、Servlet等功能,是商业领域领先的容器。相比之下,Tomcat仅是一个Web容器,实现了JSP和Servlet规范,不支持EJB...

    如何正确理解WEB服务器、应用程序服务器、HTTP服务器.doc

    如Apache和IIS,它们可以单独工作,也可以与Servlet容器(如Tomcat)结合,处理动态内容。 4. **Tomcat**: - Tomcat是一个开源的Servlet和JSP容器,它能够解释和执行Servlet和JSP。早期版本常与Apache组合使用,...

Global site tag (gtag.js) - Google Analytics