`
jackson1225
  • 浏览: 61695 次
社区版块
存档分类
最新评论

Apache+tomcat的整合2(转)

阅读更多

Apache+tomcat的整合,整合应当达到以下几方面效果:
1.Apache负责静态文件的处理
2.涉及jsp,servlet的动态请求交给tomcat处理
3.通过自定义错误响应404,当Apache找不到静态页面时,应当重定向给tomcat处理
4.在负责处理第3种情况tomcat的servlet或者jsp中,能够获得重定向之前的URL等信息。

需要在apache2.2自带ajp或者mod_jk之间做出选择。
先试试ajp吧,大家都说配置简单。
在httpd-vhosts.conf中加入一行
    ErrorDocument 404 /rp/test.jsp
其中test.jsp是统一的404错误入口,将来调用模板和数据生成请求的静态页面。
测试代码如下:
<%@ page contentType="text/html;charset=gb2312" import="java.util.*"%>
<%out.println(" <h1>Hello World!jsp </h1> ");%>
<%
Object redir_url = request.getAttribute("REDIRECT_URL");
out.println(redir_url);
%>

结果404错误重定向到该页面后,确无法获得原始的URL。
在网上搜索,即ajp没有提供类似mod_jk的JkEnvVar机制,
以将错误重定向的环境变量传递给servlet的request.getAttribute
关于apache的自定义错误处理参见www.kingmx.com/Manual/ApacheMenu/custom-error.html

后来有一个曲折的解决办法就是,将ErrorDocument重定向到apache下的一个html,再由此html在browser端
利用js调用tomcat的servlet并将原始URL传递进去。
关键代码行如下:

document.location="http://localhost/batcal/test.jsp?ru="+document.URL;
这个办法的缺点是效率较低,与服务端重定向相比较,多了一次http交互.

改用mod_jk好了
根据以下链接http://blog.sina.com.cn/u/4c592ecf010009dz
指引,同样顺利来到第4步。

在httpd.conf中加入一行
JkEnvVar REDIRECT_URL NULL
再次调用test.jsp,结果通过request.getAttribute("REDIRECT_URL");获得了原始URL,搞定。

与采用ajp相比,mod_jk的配置确实麻烦。但总算实现了预期目标。

分享到:
评论

相关推荐

    Apache+Tomcat整合

    Apache 和 Tomcat 整合是将 Apache 作为前端服务器,负责处理静态内容和反向代理,而 Tomcat 作为后端应用服务器,处理 Java 应用的动态请求。这种架构可以充分利用两者的优点,提高系统性能和可扩展性。下面我们将...

    apache+tomcat整合配置

    apache+tomcat整合配置 apache+tomcat整合配置 apache+tomcat整合配置

    apache+tomcat整合.pdf

    在讨论Apache与Tomcat的整合之前,首先需要了解Apache和Tomcat的基本概念。Apache HTTP Server(通常简称为Apache)是一个广泛使用的开源网页服务器,它非常擅长处理静态内容,如HTML页面和图片等。而Tomcat是一个...

    linux+apache+tomcat整合完整详解版(最新)

    Linux+Apache+Tomcat 整合详解 Linux+Apache+Tomcat 的整合是目前最常用的 web 服务器架构之一,本文档将详细介绍如何在 Red Hat Enterprise Linux 5.2 环境下安装和配置 Apache2.2.12、Tomcat6.0.20 和 JDK6u16,...

    linux+apache+tomcat+mysql+jsp+php

    超级无敌web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装 自己的安装过程,以前发表在新浪博客,现在换地盘了转过来... 自我感觉写得还是不错滴.. 在安装过程更是学到了很多东西 做好这个项目以后linux...

    apache+tomcat+mod_jk

    apache+tomcat+mod_jk整合文档,内有安装包。apache+tomcat+mod_jk整合文档,内有安装包。

    apache+tomcat整合

    apache+tomcat整合

    在Linux下进行Apache+tomcat整合

    在Linux下进行Apache+tomcat整合

    APACHE+TOMCAT整合示例

    根据网上的apache+tomcat集群整合,自己配出来的作为示例,备忘用

    apache+tomcat整合开发

    当我们需要在同一个环境中同时使用这两者时,就需要进行"Apache+Tomcat整合开发"。 Apache与Tomcat的整合主要解决的问题是将Apache的高性能和静态资源处理能力与Tomcat的动态内容处理能力结合起来,提供一个既能...

    apache+tomcat整合以及域名绑定

    apache+tomcat整合以及域名绑定,教你发布javaweb网站

    apache2.4+tomcat7整合配置

    apache2.4+tomcat7整合配置,apache2.4+tomcat7整合配置,apache2.4+tomcat7整合配置

    jk+apache+tomcat整合 负载均衡 集群

    jk+apce+tomcat 整合 实现tomcat负载均衡 tomcat集群。让tomcat处理.jsp动态页面,apache处理静态页面。平且实现在一个IP下提供多个站点服务。 里面包括怎样配置apache虚拟机文件 怎样配置tomcat的虚拟机文件 花了我...

    apache+tomcat+jk

    当需要同时处理动态和静态内容时,通常会将Apache与Tomcat进行整合,这就是所谓的"Apache+Tomcat整合"。 在整合过程中,Apache和Tomcat之间的通信是通过Apache的模块mod_jk实现的。mod_jk是Apache的一个插件,它的...

    window+apache+tomcat的集群整合

    window+apache+tomcat的集群整合 Apache是http服务器,我们可以利用它对tomcat进行负载均衡.

Global site tag (gtag.js) - Google Analytics