Jakarta EE 实验 — Web 聊天室(Web Chatroom)开发(二)

发布时间:2026/7/28 9:35:51

Jakarta EE 实验 — Web 聊天室(Web Chatroom)开发(二) Jakarta EE 实验 — Web 聊天室(Web Chatroom)开发(二)一、扩展要求实现概述应对禁用Cookie的情况:原代码依赖Cookie来传输Session ID(JSESSIONID)。如果浏览器禁用Cookie,Session将无法维持,导致登录状态丢失。我将扩展代码,使用URL重写(response.encodeURL()或response.encodeRedirectURL())在URL中附加Session ID。这样,即使禁用Cookie,用户也能通过URL维持Session。实现更即时的广播:原代码使用页面刷新实现简单广播(非实时)。我将扩展chat.jsp,使用简单的AJAX轮询(每隔几秒通过JavaScript发送GET请求到服务器拉取新消息),实现无需手动刷新的消息更新。这是一种基本的实时技术,不需要WebSocket(因为实验基于Servlet基础)。我会讨论更高级技术,但代码中只实现AJAX轮询以保持简单。转发 vs 重定向的思考与演示:原代码使用重定向(redirect)避免表单重复提交。我将添加一个可选的“转发模式”演示(在ChatServlet中添加一个分支),展示如果使用转发(forward)实现消息发送,会遇到刷新页面导致重复提交的问题。同时,在注释中解释何时使用转发更合适。二、扩展原则:

相关新闻