上一篇也简单介绍了如何配置集群环境,下面来测试结果:
1、首先创建一个项目web项目TestCluster,因为测试比较简单,直接用jsp实现。
2、修改项目的web.xml文件,添加 <distributable/>节点
写道
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>TestCluster</display-name>
<distributable/>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>TestCluster</display-name>
<distributable/>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3、创建index.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% String sessionStr=session.getId();%> 当前的sessionId:<B><%=sessionStr %></B> <br> <% out.println("<b>Session 列表</b><br>"); Enumeration e = session.getAttributeNames(); while (e.hasMoreElements()) { String name = (String)e.nextElement(); String value = session.getAttribute(name).toString(); out.println("<p>"+ name + " = " + value+"</p>"); System.out.println( name + " = " + value); } %> <hr/> <form action="process.jsp" id="jspForm"> 键:<input type="text" name="str1" /> 值:<input type="text" name="str2" /> <input type="submit" value="提交"> </form> </body> </html>
4、创建处理页面process.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% try { //设置请求延时10秒钟,以便停止对应的tomcat,模拟服务器崩溃 Thread.sleep(10*1000); } catch (Exception e) { e.printStackTrace(); }finally{ } String str1=request.getParameter("str1"); String str2=request.getParameter("str2"); //获得sessionId(427C1BDFD6C3E5A171F2431F8E0004A4.tomcat6_2 形式的字符串) String sessionStr=session.getId(); //获得tomcat名称 String serverName=sessionStr.substring(sessionStr.lastIndexOf(".")+1); System.out.println("<<======================"+serverName+"被调用了==================>>"); session.setAttribute(str1,str2); request.getRequestDispatcher("/index.jsp").forward(request, response); %> </body> </html>
5、测试场景
输入:http://localhost/TestCluster/test.jsp (因为Apache默认端口为80)
(1) 第一次页面显示如下:
(2) 点击提交的处理请求的过程中,将tomcat6_1停掉后,响应页面如下:
(3)有图一和图二的sesssionId完全一致,已经实现了session共享,当接收请求应用服务器突然中断后,请求依然会转发给其他的服务器,继续处理,完全实现了我们的要求。
(4) 有需要可下载案例源码 ^_^
相关推荐
Apache和tomcat集群部署配置文件案例,包含Apache中的配置文件httpd.conf,mod_jk.conf,workers.properties,以及tomcat中配置文件server.xml
### Apache + Tomcat 集群配置...通过以上步骤,我们成功实现了Apache + Tomcat集群的配置,并通过简单的负载均衡测试验证了其有效性。这种方式不仅能够提高应用的可用性和性能,还能够轻松扩展以应对更大的访问量。
通过以上步骤,我们就成功地搭建了一个基于Apache 2.2.4和Tomcat 7.0.70的集群,实现了负载均衡。这只是一个基础配置,实际应用中可能需要考虑更多的因素,如健康检查、会话持久化、故障转移策略等。随着业务增长,...
在本案例中,Apache作为前端服务器,负责接收客户端的请求并根据配置将这些请求分发到后端的Tomcat服务器集群。 ### Tomcat的角色 Tomcat是由Apache软件基金会的Jakarta项目开发的一款开源Servlet容器,主要用于...
总之,Apache Tomcat集群配置是一个涉及多个组件和配置文件的过程,需要仔细规划和测试,以确保系统的稳定性和高效运行。通过正确的配置,你可以创建一个能够处理大量并发请求、具有高可用性和容错能力的Web服务环境...
在本案例中,提供了针对Apache 2.2和2.4两个版本的mod_jk模块,用户可以根据自己Apache服务器的版本选择合适的版本进行安装。 "tomcat-connectors-1.2.37-windows-i386-httpd-2.4.x"和"tomcat-connectors-1.2.37-...
在本篇文章中,我们将深入探讨如何使用Apache搭建Sticky模式的Tomcat集群,以提升Web应用的性能和容错能力。 首先,理解"Sticky模式"是非常必要的。Sticky模式是一种负载均衡策略,它使得来自同一客户端的请求始终...
五、实战案例:使用Nginx+Tomcat集群 1. 安装Nginx:作为反向代理和负载均衡器。 2. 部署Tomcat:在多台服务器上安装相同配置的Tomcat实例。 3. 配置Nginx:设置upstream,指定后端Tomcat服务器列表,配置负载均衡...
5. **Cluster**(可选):如果需要集群部署,此组件支持Tomcat实例之间的通信和会话复制。 6. **Manager**:一个Web应用程序,可以用于管理部署在Tomcat服务器上的应用。 7. **Host**:代表一个虚拟主机,允许在一个...
本文介绍了如何在JDK 1.8.0_131和Tomcat 8环境下搭建一个简单的Tomcat集群,并实现了Session共享。通过这些步骤,不仅可以提高系统的性能和可用性,还能更好地应对高并发场景下的访问需求。希望本文对您有所帮助!
Apache Tomcat 是一个免费开源的轻量级 Web 应用服务器,它支持多种 Web 技术,如 Java Servlets、JavaServer Pages (JSP)、Java Expression Language (EL) 和 WebSocket 技术等。Tomcat 7 是该系列的一个重要版本,...
Apache 2.2、mod_JK、Tomcat 7 和 Terracotta 3.7 是构建高可用性和可扩展性 Web 应用集群的关键组件。这个集群配置旨在提高应用程序的性能,通过负载均衡和故障转移确保服务的连续性。下面我们将深入探讨这些组件...
### Tomcat集群的搭建与配置 为了实现Session共享,需要对多个Tomcat实例进行配置: 1. 复制Tomcat实例,创建多个Tomcat服务节点。 2. 修改每个Tomcat实例的配置文件(server.xml),确保每个实例监听不同的端口。 3...
通过以上步骤,我们可以在Windows XP环境下成功搭建一个集成了Apache、PHP、MySQL、Perl、Tomcat和Bind的服务集群。这种配置不仅适合于Web开发人员进行本地开发和测试,也可以作为小型企业的内部Web服务平台。值得...