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

PageContext在websphere和Tomcat的不同实现

阅读更多

    今天碰到一个奇怪的问题,明明本地上好好的页面扔到服务器上就是通不过,搞了半天,才发现是was 与tomcat 的差异造成的。

    跟踪到出错的位置,JSP代码如下:

java 代码
  1. String parentBSID = (String)request.getAttribute("parentBSID");    
  2. pageContext.setAttribute("parentBSID", parentBSID);   

在百度上搜索websphere pageContextImpl.setAttribute null,居然一无所获;google 搜出来的几个页面慢得跟蜗牛一样,没办法只能靠自己。反编译tomcat与websphere应用服务器上对应的PageContextImpl类,结果如下:

tomcat 的standard.jar包中对PageContextImpl的实现是:

java 代码
  1. mPage = Collections.synchronizedMap(new HashMap());  

而was 的webcontainer.jar中对PageContextImpl的实现是:

java 代码
  1. attributes = new Hashtable(16);  

tomcat和websphere对pageContext的实现最关键的差别就是前者使用了HashMap,后者使用了Hashtable,Java API Document 对Hashtable.put(Object key,Object value)有明确说明:“Maps the specified key to the specified value in this hashtable. Neither the key nor the value can be null.

问题解决,可能很多人已经发现了这个差异,但我搜索不到,所以写在这给有需要的人作个参考吧。

分享到:
评论

相关推荐

    Java Web程序设计任务驱动教程课后习题参考答案 - 蓝敏、周伟敏、杨茜

    * Web 服务器:WebLogic、WebSphere、Tomcat 等 JSP 基础 * JSP 全称:Java Server Pages * JSP 优点:将内容的生成和显示分离、使用可重用的组件、采用标记简化页面开发、具有 Java 技术的所有好处、完善的存储...

    ServletJSP数据库的笔试及面试题.docx

    常见的应用服务器有 BEA WebLogic Server、IBM WebSphere Application Server、Oracle9i Application Server、jBoss 和 Tomcat 等。这些服务器软件提供了对 Java EE 规范的支持,允许开发者使用 Java 语言开发 Web ...

    JSP_图解JSP环境安装配置JSP_图解JSP环境安装配置

    6. **配置IDE**:在IDE中设置JSP和Tomcat的集成,例如在Eclipse中,可以创建一个“Dynamic Web Project”,关联Tomcat服务器,并将项目部署到服务器上。 **JSP文件结构**: JSP文件通常包含静态HTML和嵌入的Java...

    java面试题web部分

    常见的应用服务器有BEA WebLogic Server、IBM WebSphere Application Server、Oracle9i Application Server、jBoss、Tomcat等。 四、数据连接池 数据连接池是在J2EE服务器启动时建立一定数量的池连接,并一直维持...

    大唐最新软件(JAVA类)2010年

    8. **应用服务器**:2010年时,常见应用服务器有Tomcat、Jetty、JBoss、WebLogic、WebSphere等,它们提供Servlet和JSP的运行环境,支持EJB等企业级服务。 9. **SessionBean组件**:EJB(Enterprise JavaBeans)中的...

    JavaEE程序设计与应用开发5.6作业答案

    11. **Web容器和应用服务器**:如Tomcat、Jetty、WebLogic、WebSphere等,它们提供了运行JavaEE应用的环境,理解它们的工作方式对解决实际问题很有帮助。 12. **部署描述符**:如web.xml,它是JavaEE应用的配置文件...

    超级有影响力霸气的Java面试题大全文档

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    山东建筑大学J2EE讲义

    - **1.4.1 J2EE应用服务器**:J2EE应用服务器是运行J2EE应用程序的平台,常见的有Apache Tomcat、IBM WebSphere、Oracle WebLogic等。 - **1.4.2 J2EE开发环境搭建**:一般包括安装Java JDK、配置J2EE应用服务器以及...

    java,j2ee面试题

    - Tomcat、Jetty、WebLogic、WebSphere等的区别和应用场景。 - 部署WAR和EAR文件,以及应用的上下文路径设置。 7. **RESTful Web服务**: - REST原则:无状态、缓存、统一接口等。 - 使用JAX-RS(Java API for ...

    java面试题

    - HttpSession (session):用于在客户端和服务器之间保持状态的会话对象 - ServletContext (application):整个应用共享的数据存储 - ServletConfig (config):Servlet的配置信息 - Object (page):当前页面的...

    J2EE经典教程

    - **1.4.1 J2EE应用服务器**:如Apache Tomcat、IBM WebSphere、Oracle WebLogic等,它们提供了一个运行J2EE应用所需的环境。 - **1.4.2 J2EE开发环境搭建**:主要包括安装JDK(Java Development Kit)、配置开发...

    JAVA笔试题

    **最熟悉:** Apache Tomcat,因其简单易用,在学习和开发过程中使用频率最高。 #### 2. 你熟悉的Java Web的MVC框架有哪些?其中你最熟悉哪种?谈谈你对MVC的认识。 - **Spring MVC**: 基于Spring框架的MVC实现,...

    JSP网络编程技术

    要开始JSP编程,首先需要安装Java Development Kit (JDK) 和一个支持JSP的服务器,如Apache Tomcat或IBM WebSphere。确保JDK正确安装并配置好环境变量,接着下载并解压服务器,根据服务器的文档指导进行配置,最后将...

Global site tag (gtag.js) - Google Analytics