Codeigniter 和 Tomcat 集成

标签 codeigniter tomcat

我使用 codeigniter 作为我网站的框架。但是,我需要集成来自在单独的 Tomcat 服务器上构建的应用程序的内容。

有没有一种方法可以让我在内容区域的顶部继续提供基于模板的导航元素、横幅图像和 codeigniter 应用程序,同时通过 Tomcat 将正文传送到网站的较低内容区域?我很清楚可以通过 View 提供页面片段,但是 View 中的内容可以来 self 的 Tomcat 应用程序吗?

最佳答案

一种可能的方法是让您的 CodeIgniter Controller 通过 file_get_contents 或 phpcurl 检索幕后的内容。

CI Controller 内的片段:

//-- snippet --
... other controller boilerplate ...
$data = array();
$tomcat_content = @file_get_contents('http://mytomcat.server.url/page.jsp');
$data['tomcat_content'] = $tomcat_content;
$this->load->view('relevant_view', $data);
//-- snippet --

来自 relevant_view.php 的片段:

<!-- snippet -->
<div class="tomcat-content">
    <?php echo (empty($tomcat_content))? 'Missing Content' : $tomcat_content;?>
</div>
<!-- snippet -->

需要考虑的一些注意事项:

(1) Tomcat 应用服务器源页面(Basic Auth 或显式登录页面)是否有任何安全措施?

(2)访问Tomcat应用服务器有代理或类似问题吗?

(3) 有问题的 PHP 是否设置为从外部源检索和/或它是否具有编译的 cURL 功能?

(4) Tomcat 端的延迟将影响 CodeIgniter 端。如果源内容相对静态,则可以通过 CodeIgniter 的输出类缓存来缓解其中一些问题。

如果有大量页面,可以将外部内容检索代码提取到自定义 CodeIgniter 库或帮助程序中,然后加载。

关于Codeigniter 和 Tomcat 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9442592/

相关文章:

mysql - 获取数据多维数组 Codeigniter Mysql

php - 无法将变量 'sql_mode' 设置为“REPLACE”的值

php - 从不同的表中选择用户名,其中 id 在 codeigniter 中匹配

oracle - 从 Tomcat 7 迁移到 Tomcat 9 后启动 Tomcat 的问题

java - 如何在 `@context HttpServletRequest` 中注入(inject) header ?

tomcat - UrlRewriteFilter + Tomcat + 简单转发规则产生 404

java - 如何将 Tomcat 日志复制到 Jenkins 并在每次部署后显示它们

php - 每 1 小时更新 MySQL 表中约 100 万行

mysql - 如何解决 CI_DB_mysql_result

java - 在Tomcat中执行shell命令