`

Web应用遇到问题记录

阅读更多

JBoss应用遇到问题记录

 

Q1. 2012-9-3 应用部署到weblogic下(Tomcat下无问题),filter执行时报错: 

java.lang.IllegalStateException: Cannot resize buffer - 299 bytes have already been written (Servlet 2.3, sec. 5.1)
at weblogic.servlet.internal.ServletResponseImpl.setBufferSize(ServletResponseImpl.java:346)
at weblogic.servlet.jsp.PageContextImpl.initialize(PageContextImpl.java:74)
at weblogic.servlet.jsp.PageContextImpl.<init>(PageContextImpl.java:110)
at weblogic.servlet.jsp.JspFactoryImpl.getPageContext(JspFactoryImpl.java:40)
at jsp_servlet.__index._jspService(__index.java:65)

原因: 调用了response.sendRedirect()之后,再调用了filterChain.doFilter(request, response)

解决 修改代码,确保 sendRedirect 之后 return 或 doFilter 之前无 sendRedirect。

see: http://blog.csdn.net/xlhybjava/article/details/1038357

 

 

Q2. 2012-10-19 Jetty下,post 1个表单数据时报错: 

java.lang.IllegalStateException: Form too large210799>200000

 

原因: Jetty对form post data的大小有限制,默认为200000bytes

解决 修改Jetty的默认限制值。

see: Web容器对form post data大小的默认限制的修改方法

 

Q3. 2012-9 关于通过 request.getParameter(...) 获取数据的注意事项:
对于POST方式提交的数据,在首次调用 request.getParameter(...) 方法时,
会触发web容器解析数据流并将解析后的parameters置入parameterMap。
方法request.getInputStream()中会改变Using stream flag值(Jetty中这个变量名为inputState, Tomcat中为usingInputStream),
而request.getParameter(...)中会根据Using stream flag值来决定是否去解析流数据,
所以若在调用request.getParameter(...)前先调用了request.getInputStream(),
会引发BUG: POST方式提交的FORM数据无法通过request.getParameter方式得到值。
一般,处理非multipart/byteranges类型FORM提交的数据时,只需要通过容器去取即可,无需额外处理。

 

Q4. 2013-5 某APP分别部署在同一个机子weblogic的2个不同域上(即webapp的url仅ip不同),在同个客户端用同一个账号先后登录这2个APP,后登录的会把前面登录的“踢掉”,而如果登录的是同个APP,反而不会出现“踢掉”。

原因: http是无状态的协议,因此web容器若要在服务端保存状态,通常的做法是往客户端浏览器cookie中写当前会话的sessionid,其默认的cookie名字是JSESSIONID。
但是cookie的domain信息是基于IP地址的不包含端口,这会导致相同IP地址不同端口的web应用cookie被共享。
因此在登录1个APP后,服务器就往用户的浏览器里写入了一个名为JSESSIONID的cookie,该APP服务端通过该id能找到相应的session,
此时用户又登录了另1个APP,因为2个APP使用了相同的IP(或主机名称),浏览器会把JSESSIONID的这个cookie发给另1个APP的服务端,
但这个服务端是找不到该id对应的session的,因此会重新生成一个sessionid并写到浏览器cookie中,这个新的sessionid会覆盖之前由前1个APP生成的sessionid。
此时当再访问前1个APP时,因为cookie中的sessionid被改变,服务端也同样找不着之前的session信息了,这导致当前登录的信息丢失。

另外这个问题似乎是和web容器有关,据网上一些文章,weblogic下存在这个问题,而tomcat下则不存在这个问题。

更多weblogic session问题:http://liuzidong.iteye.com/blog/1132219

解决 /WEB-INF/weblogic.xml 文件中增加如下配置:

<session-descriptor>
   <cookie-name>XXX-JSESSIONID</cookie-name>
</session-descriptor>

 


Problem:  Tomcat 如何设置JVM参数

Solution

Windows: 在 catalina.bat 的最前面加上 set JAVA_OPTS=-Dxx1=yy -Dxx2=yy2

Linux: 在 catalina.sh 的最前面加上 JAVA_OPTS=-Dxx1=yy -Dxx2=yy2

 

 

 

分享到:
评论

相关推荐

    C# WEB编程应用实例

    学习如何在C# Web应用中有效地处理这些问题,对于提升应用的稳定性和用户体验至关重要。 最后,为了开发和调试C# Web应用,Visual Studio是一款强大的集成开发环境(IDE),它提供了丰富的工具和功能,如代码编辑、...

    LJ主页模板WEB应用程序主要包含Access数据库

    在WEB应用程序中,Access数据库可以通过ASP(Active Server Pages)或其他服务器端脚本技术与前端进行交互,处理数据请求,如查询、插入、更新和删除记录。 在描述中提到“主要包含Access数据库”,意味着这个WEB...

    c# winform 问题记录器

    标题中的"C# WinForm问题记录器"是一款使用C#编程语言和Windows Forms(WinForm)框架开发的应用程序,专门设计用于记录和管理个人在学习或工作中遇到的技术问题及其解决方案。这款工具可以帮助用户有效地整理和回顾...

    思普Web应用框架

    "思普Web应用框架"是基于Java Enterprise Edition (J2EE) 平台的一个综合性开发环境,它旨在简化Web应用程序的构建过程,提高开发效率,同时确保应用的稳定性和可扩展性。作为一款专业的框架,它通常包含了丰富的...

    Java Web开发常见问题.docx

    线程安全问题:在多线程环境下,Java Web应用程序可能会出现线程安全问题,例如竞态条件或死锁等。这通常是由于应用程序中的共享资源或同步问题导致的。 文件上传问题:在Java Web应用程序中,文件上传是一个常见的...

    Web_Application_Stress_Tool(WAS,Web应用负载测试工具)详细说明

    WAS工具的主要功能包括模拟大量用户同时访问Web应用,记录和回放用户操作,分析服务器响应时间,以及监控系统资源使用情况。通过这些功能,它可以提供关于系统在极限条件下的表现数据,从而帮助优化系统架构和代码...

    将应用部署到weblogic10及oracle linux遇到的问题及解决方案

    在部署应用时,遇到了 java.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expanded 问题。出现这个原因是因为部署的时候使用的是 WAR 包,WebLogic 部署应用不像 ...

    appweb 嵌入式的web服务器

    它支持基本的控制结构、函数、类和对象,使得开发者能够快速创建Web应用程序。 ### 3. CGI(Common Gateway Interface)支持 CGI是一种标准,用于让Web服务器与外部程序交互,以生成动态内容。AppWeb支持CGI,这...

    将应用部署到weblogic10及oracle linux时遇到的问题.doc

    第二个问题是一个`IllegalStateException`,提示不能在WAR文件未展开的情况下设置Web应用根系统属性。这是因为在WebLogic中,与Tomcat不同,它不先解压缩WAR文件再启动应用。使用`getRealPath("/")`这样的方法在WAR...

    asp.net web 博客系统

    8. 错误处理和日志记录:确保系统在遇到问题时能够提供有用的反馈,并记录详细的日志以供排查。 9. 性能优化:考虑缓存策略、数据库索引优化等手段提高系统性能。 10. 移动友好:响应式设计确保博客系统在不同设备...

    webDemo简单测试

    在IT行业中,Web应用的测试是一项至关重要的任务,它确保了软件的质量和用户体验。...测试人员会通过多种工具和方法进行深入的测试,以发现并修复潜在问题,为用户提供一个稳定、安全且高效的Web应用体验。

    Web应用安全:Nginx日志配置文本.docx

    在Web应用安全领域,日志配置是至关重要的一个环节,因为它可以帮助我们监控系统服务的状态,及时发现并解决潜在的问题。Nginx作为一款广泛应用的Web服务器,其日志功能对于故障排查和性能分析起着关键作用。本文将...

    web 编程 第5章例题

    在这一章中,我们通常会遇到各种Web应用程序的创建和交互问题,旨在帮助学习者理解和掌握Web开发的核心概念。 描述中提到"建议先安装Dreamweaver 和windows的iis",这意味着这些例题可能需要使用Adobe Dreamweaver...

    将应用部署到weblogic10及oracle linux时遇到的问题 .docx

    本文档详细记录了迁移过程中遇到的问题及解决方案。 首先,迁移过程中的第一个问题是由于应用程序较大,导致在上传WAR包时,WebLogic服务器的虚拟内存不足。这个问题可以通过调整WebLogic服务器的内存配置来解决。...

    Java Web应用开发 《Java Web应用开发》_项目库_项目案例_《企业进销存管理系统》设计文档.doc

    《企业进销存管理系统》是Java Web应用开发的一个典型项目案例,旨在教授和实践如何构建一个实际的企业级管理系统。在本系统中,开发者将学习到如何进行需求分析、可行性研究、总体设计、系统设计以及各个功能模块的...

    web具体的实例是关于控件的

    **实验总结**是学生反思整个过程,记录遇到的问题、解决方法以及对Web开发新理解的部分。 这个实验为学生提供了一个全面实践Web开发技能的机会,使他们能够将理论知识转化为实际操作,提升问题解决能力和项目管理...

    oracle webserver完全教程

    安装过程中可能会遇到权限、依赖库等问题,需要耐心解决。 配置Oracle WebServer是整个教程的核心部分。这包括设置监听端口、配置虚拟主机、管理SSL证书以及配置日志记录等。虚拟主机允许在一台服务器上托管多个...

    利用CentOS7服务器搭建WEB应用服务器

    2. 本文是经过3次系统部署后记录的文档,文章中将会详细的说明在每一个过程中可能遇到的问题,因此希望大家与我的操作统一环境。 3.小编经过实际配置,发现在这三者中Mysql配置最为复杂,也是最有可能出现意外的一个...

    web调试器

    在本文中,我们将深入探讨Web调试器的概念、功能以及如何有效地使用它来提升开发效率和解决Web应用中的问题。 Web调试器通常集成在浏览器的开发者工具中,例如Chrome的DevTools、Firefox的Developer Edition或...

    web 日常检查

    如果遇到无法解决的问题,详细记录并寻求专业帮助。 5. **日志安排**:保持良好的日志管理习惯,包括定期清理旧日志,设置适当的日志级别,以及确保日志的安全存储。日志可以用于追踪系统行为,分析性能趋势,以及...

Global site tag (gtag.js) - Google Analytics