백엔드 개발 PHP 튜토리얼 混血儿新生命--Java+PHP整合_PHP教程

混血儿新生命--Java+PHP整合_PHP教程

Jul 13, 2016 pm 05:44 PM
다루다 통합 시간 현실

最近才有时间处理此事,将此设想应用到现实应用程序中。  下面从两个方面讲解如何开发与发布。
示例:讲解java+php 开发模式,以菜单管理为例。
示例如下:
一:java 结构代码
java开发结构图如下:

java 开发结构图

java 程序代码请看在下面上传文件,由于上传文件不能大于2M,所以用到的lib 没有上传,如需求,可留邮箱给我,我发给大家。
注:PHP和Java各有其语言内部定义的数据类型,当PHP数据传送到Java,或Java数据传送到PHP时,LAJP在内部自动地、准确地对他们进行转换,程序员无需进行任何的解码工作
二:java 应用程序发布
将编译后的文件放到LAJP 目录下:我的文件目录: E:\lajp-10.05\test_service\ecard
如下图所示:

发布目录

三:php 结构代码
class Menu extends CI_Controller{
 
 function __construct(){
  parent::__construct();
  $this->load->model('system/menu_model');
 }
 
 function index(){
  $condition = array();
  $condition['menu_id'] = $this->uri->segment(4,0);
  $condition['path'] = $this->input->post('path');
  $condition['start'] = $this->input->post('start');
  $condition['id'] = $this->input->post('id');
  $condition['order'] = $this->input->post('order');
  $condition['isfresh'] = $this->input->post('isfresh');
  $condition['visible'] = $this->input->post('visible');
  $condition['defaultselect'] = $this->input->post('defaultselect');
  $condition['name'] = $this->input->post('name');
  $condition['parentid'] = $this->input->post('parent_id');
  $condition['numPerPage'] = $this->input->post('numPerPage') ? $this->input->post('numPerPage') : 20;
  $condition['orderField'] = $this->input->post('orderField') ? $this->input->post('orderField') : 'SMT_PARENT_ID';
  $condition['pageNum'] = $this->input->post('pageNum') ? $this->input->post('pageNum') : 1;
  $data = array();
  $allmenus = $this->menu_model->getMenus();
  $this->load->library('smart_tree');
  $options = array(
   'index'   => 1,
   'type'   => 0,
   'self'    => 1,
   'hreffromdb' => 0,
   'relfromdb'  => 0,
   'rel'   => 'system/menu/index',
   'href'   => 'system/menu/index/',
   'hrefuseid'  => 1,
   'title'   => '菜单管理'
  );
  $data['allmenus'] = $this->smart_tree->getTrees($allmenus, $options);
  $data['menus'] = $this->menu_model->getMenusVoByCondition($condition);
  $data['total'] = $this->menu_model->getCount($condition);
  $data['condition'] = $condition;
  $this->load->view('system/menu/index.phtml', $data);
 }
 
 function add(){
  $data['menus'] = $this->menu_model->getMenus();
  $this->load->view('system/menu/add.phtml',$data);
 }
 
 function insert(){
  $vo = newObject('ecard_sys_menus_vo_MenusVo');
  $vo->name = (string)$this->input->post('name');
  $vo->parentid = (int)$this->input->post('parent_id');
  $vodefaultselect = (int)$this->input->post('defaultselect');
  $vo->visible = (int)$this->input->post('visible');
  $vo->isfresh = (int)$this->input->post('isfresh');
  $vo->desc = (string)$this->input->post('desc');
  $vo->path = (string)$this->input->post('path');
  $vo->start = (int)$this->input->post('start');
  $vo->order = (int)$this->input->post('order');
  $vo->cuser = 1;
 
  if($this->menu_model->insert($vo)){
   $reback = array("statusCode"=>"200","message" => "添加成功","navTabId" => "system/menu/index", "callbackType" => "closeCurrent","forwardUrl" => "" );
  }else{
   $reback = array("statusCode"=>"300","message" => "添加失败","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }
  echo json_encode($reback);
 }
 
 function edit(){
  $menu_id = $this->uri->segment(4,0) or exit('菜单不存在');
  $data['menu'] = $this->menu_model->getMenusVoById($menu_id) or exit('菜单不存在');
  $data['pmenu'] = $this->menu_model->getMenusVoById($data['menu']['parentid']) or exit('菜单不存在');
  $this->load->view('system/menu/edit.phtml',$data);
 }
 
 function update(){
  $vo = newObject('ecard_sys_menus_vo_MenusVo');
  $vo->id = (int)$this->input->post('id');
  $vo->name = (string)$this->input->post('name');
  $vo->path = (string)$this->input->post('path');
  $vo->parentid = (int)$this->input->post('parent_id');
  $vo->order = (int)$this->input->post('order');
  $vo->start = (int)$this->input->post('start');
  $vo->defaultselect = (int)$this->input->post('defaultselect');
  $vo->visible = (int)$this->input->post('visible');
  $vo->isfresh = (int)$this->input->post('isfresh');
  $vo->desc = (string)$this->input->post('desc');
  $vo->uuser = 1;
  if($this->menu_model->update($vo)){
   $reback = array("statusCode"=>"200","message" => "编辑成功","navTabId" => "system/menu/index", "callbackType" => "closeCurrent","forwardUrl" => "" );
  }else{
   $reback = array("statusCode"=>"300","message" => "编辑失败","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }
  echo json_encode($reback);
 }
 
 function delete(){
  $ids = $this->input->post('ids');
  if(!$ids){
   $ids = $this->uri->segment('4',0) or exit('缺少参数');
  }
  if($this->menu_model->deletes($ids)){
   $reback = array("statusCode"=>"200","message" => "删除成功","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }else{
   $reback = array("statusCode"=>"300","message" => "删除失败","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }
  echo json_encode($reback);
 }
 
 function search(){
  $data = array();
  $data['menus'] = $this->menu_model->getMenus();
  $this->load->view('system/menu/search.phtml',$data);
 }
 
 function tree(){
  $menus = $this->menu_model->getMenus();
  $this->load->library('smart_tree');
  $data['menus'] = $this->smart_tree->getTrees($menus,array('index'=>1,'type'=>0,'self'=>1,'hreffromdb'=>0));
  $this->load->view('system/menu/tree',$data);
 }
 
}
四:应用展现
        java程序开发完成后,并将编译后程序发布到lajp文件目录下后,点击E:\lajp-10.05下的run-socket.bat 运行程序,如下图所示:

启动并运行程序

启动界面:

启动界面

php界面展现如下:
 应用界面

 展现界面2
本文出自 “吹牛皮拉潜艇推火车日飞机” 博客

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478731.htmlTechArticle最近才有时间处理此事,将此设想应用到现实应用程序中。 下面从两个方面讲解如何开发与发布。 示例:讲解java+php 开发模式,以菜单管...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 11에서 사진 앱 오류에 대한 변경 사항을 저장할 수 없습니다. Windows 11에서 사진 앱 오류에 대한 변경 사항을 저장할 수 없습니다. Mar 04, 2024 am 09:34 AM

Windows 11에서 이미지 편집을 위해 사진 앱을 사용하는 동안 변경 내용을 저장할 수 없습니다. 오류가 발생하는 경우 이 문서에서 해결 방법을 제공합니다. 변경사항을 저장할 수 없습니다. 저장하는 동안 오류가 발생했습니다. 나중에 다시 시도해 주세요. 이 문제는 일반적으로 잘못된 권한 설정, 파일 손상 또는 시스템 오류로 인해 발생합니다. 그래서 우리는 이 문제를 해결하고 Windows 11 장치에서 Microsoft 사진 앱을 계속해서 원활하게 사용할 수 있도록 심층적인 연구를 수행하고 가장 효과적인 문제 해결 단계 중 일부를 정리했습니다. Windows 11에서 사진 앱 오류에 대한 변경 사항을 저장할 수 없는 문제 수정 많은 사용자가 다른 포럼에서 Microsoft 사진 앱 오류에 대해 이야기해 왔습니다.

Apple Vision Pro를 PC에 연결하는 방법 Apple Vision Pro를 PC에 연결하는 방법 Apr 08, 2024 pm 09:01 PM

Apple Vision Pro 헤드셋은 기본적으로 컴퓨터와 호환되지 않으므로 Windows 컴퓨터에 연결되도록 구성해야 합니다. Apple Vision Pro는 출시 이후 큰 인기를 끌었으며, 최첨단 기능과 광범위한 조작성을 통해 그 이유를 쉽게 알 수 있습니다. PC에 맞게 일부 조정할 수 있지만 기능은 AppleOS에 크게 의존하므로 기능이 제한됩니다. AppleVisionPro를 내 컴퓨터에 어떻게 연결합니까? 1. 시스템 요구 사항 확인 최신 버전의 Windows 11이 필요합니다. (Custom PC 및 Surface 장치는 지원되지 않습니다.) 64비트 2GHZ 이상 빠른 프로세서 지원 고성능 GPU, 대부분

MS 그림판이 Windows 11에서 제대로 작동하지 않습니다. MS 그림판이 Windows 11에서 제대로 작동하지 않습니다. Mar 09, 2024 am 09:52 AM

Microsoft Paint가 Windows 11/10에서 작동하지 않습니까? 글쎄, 이것은 일반적인 문제인 것 같으며 우리는 이를 해결할 수 있는 몇 가지 훌륭한 솔루션을 가지고 있습니다. 사용자들은 MSPaint를 사용하려고 할 때 작동하지 않거나 열리지 않는다고 불평해 왔습니다. 앱의 스크롤바가 작동하지 않고, 붙여넣기 아이콘이 표시되지 않고, 충돌이 발생하는 등의 현상이 발생합니다. 다행히 Microsoft 그림판 앱 관련 문제를 해결하는 데 도움이 되는 가장 효과적인 문제 해결 방법 중 일부를 수집했습니다. Microsoft 그림판이 작동하지 않는 이유는 무엇입니까? MSPaint가 Windows 11/10 PC에서 작동하지 않는 몇 가지 이유는 다음과 같습니다. 보안 식별자가 손상되었습니다. 정지 시스템

CPU를 너무 많이 점유하는 WIN10 서비스 호스트의 동작 과정 CPU를 너무 많이 점유하는 WIN10 서비스 호스트의 동작 과정 Mar 27, 2024 pm 02:41 PM

1. 먼저 작업 표시줄의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 [작업 관리자] 옵션을 선택하거나, 시작 로고를 마우스 오른쪽 버튼으로 클릭한 후 [작업 관리자] 옵션을 선택합니다. 2. 열린 작업 관리자 인터페이스에서 맨 오른쪽에 있는 [서비스] 탭을 클릭합니다. 3. 열린 [서비스] 탭에서 아래의 [서비스 열기] 옵션을 클릭하세요. 4. 열리는 [서비스] 창에서 [InternetConnectionSharing(ICS)] 서비스를 마우스 오른쪽 버튼으로 클릭한 후 [속성] 옵션을 선택하세요. 5. 열리는 속성 창에서 [연결 프로그램]을 [사용 안 함]으로 변경하고 [적용]을 클릭한 후 [확인]을 클릭하세요. 6. 시작 로고를 클릭한 후 종료 버튼을 클릭하고 [다시 시작]을 선택한 후 컴퓨터를 다시 시작합니다.

Douyin 레벨 10 조명 표지판의 가격은 얼마입니까? 레벨 10 팬사인회 제작에는 며칠이 소요되나요? Douyin 레벨 10 조명 표지판의 가격은 얼마입니까? 레벨 10 팬사인회 제작에는 며칠이 소요되나요? Mar 11, 2024 pm 05:37 PM

Douyin 플랫폼에서는 많은 사용자가 레벨 인증을 받기를 열망하고 있으며 레벨 10 표시등은 Douyin에 대한 사용자의 영향력과 인식을 보여줍니다. 이 기사에서는 사용자가 프로세스를 더 잘 이해할 수 있도록 Douyin의 레벨 10 라이트 보드 가격과 이 레벨에 도달하는 데 걸리는 시간을 자세히 살펴보겠습니다. 1. 레벨 10 Douyin 라이트 사인의 가격은 얼마입니까? Douyin의 10단계 전광판 가격은 시장 변동과 수요 공급에 따라 달라질 수 있으며, 일반적인 가격은 수천 위안에서 만 위안까지 다양합니다. 이 가격에는 주로 조명 사인 자체 비용과 가능한 서비스 수수료가 포함됩니다. 사용자는 Douyin의 공식 채널이나 제3자 서비스 대행사를 통해 레벨 10 조명 간판을 구매할 수 있지만, 허위 또는 사기 거래를 피하기 위해 구매 시 법적 채널에 주의해야 합니다. 2. 레벨 10 팬사인을 만드는데 며칠이 걸리나요? 레벨 10 신호등에 도달하세요

iPhone에서 Shazam 앱이 작동하지 않음: 수정 iPhone에서 Shazam 앱이 작동하지 않음: 수정 Jun 08, 2024 pm 12:36 PM

iPhone의 Shazam 앱에 문제가 있나요? Shazam은 노래를 듣고 노래를 찾는 데 도움을 줍니다. 하지만 Shazam이 제대로 작동하지 않거나 노래를 인식하지 못하는 경우 수동으로 문제를 해결해야 합니다. Shazam 앱을 복구하는 데 시간이 오래 걸리지 않습니다. 따라서 더 이상 시간을 낭비하지 않고 아래 단계에 따라 Shazam 앱 문제를 해결하세요. 수정 1 – 굵은 텍스트 기능 비활성화 iPhone의 굵은 텍스트로 인해 Shazam이 제대로 작동하지 않을 수 있습니다. 1단계 – iPhone 설정에서만 이 작업을 수행할 수 있습니다. 그러니 열어보세요. 2단계 – 다음으로 "디스플레이 및 밝기" 설정을 엽니다. 3단계 - "굵은 텍스트"가 활성화된 경우

Windows 11의 기존 사진에서 새로운 사진 앱으로 사진 이동 Windows 11의 기존 사진에서 새로운 사진 앱으로 사진 이동 Mar 10, 2024 am 09:37 AM

이 문서에서는 Windows 11의 Photos Legacy에서 새로운 사진 앱으로 사진을 마이그레이션하는 방법을 안내합니다. Microsoft는 Windows 11에서 개선된 사진 앱을 도입하여 사용자에게 더욱 간단하고 기능이 풍부한 환경을 제공했습니다. 새로운 Photos 앱은 이전 PhotosLegacy 앱과 다르게 사진을 정렬합니다. 앨범을 만드는 대신 사진을 다른 Windows 파일과 같은 폴더로 정리합니다. 그러나 여전히 Photos Legacy 앱을 사용하는 사용자는 사진을 새 버전의 Microsoft Photos로 쉽게 마이그레이션할 수 있습니다. 포토란?

0xc0000142 오류 코드가 나타나는 이유는 무엇입니까? 0xc0000142 오류 코드가 나타나는 이유는 무엇입니까? Feb 25, 2024 am 11:15 AM

0xc0000142는 Windows 시스템의 오류 코드를 의미하며 일반적으로 프로그램이나 응용 프로그램이 제대로 시작되지 않거나 실행되지 않는 문제와 관련이 있습니다. 사용자가 프로그램을 열려고 하면 시스템에 "0xc0000142"라는 오류 메시지가 표시되고 프로그램을 계속 실행할 수 없습니다. 그렇다면 0xc0000142 오류는 왜 발생하는 걸까요? 이 오류 코드에는 여러 가지 이유가 있습니다. 다음은 몇 가지 일반적인 원인과 해결 방법입니다. 손상된 구성 파일: 일부 프로그램의 구성 파일이 손상되어 문제가 발생할 수 있습니다.

See all articles