`
Joy.zhang
  • 浏览: 59575 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

JSP、PHP与JAVA融合的开发环境

    博客分类:
  • Jsp
阅读更多
本文介绍了融JSP、PHP和JAVA于一炉的开发环境的建立,为了适合大多数初学者的需求,很多步骤都是采用比较方便的办法,力求简单明了。

本文介绍了融JSP、PHP和JAVA于一炉的开发环境的建立,为了适合大多数初学者的需求,很多步骤都是采用比较方便的办法,力求简单明了。一般来说,没有特别需求的软件,我都是采用RPM的方式安装。如果你有优化配置、安全考虑等特殊需求,请参考相关的更多的资料进行配置。

在本文中,Apache以DSO模式安装,PHP实现了JAVA组件的支持,使得我们在进行大型项目开发的时候,可以选择 PHP作为前端脚本语言,调用JAVA组件实现底层和企业级的应用。

一.系统环境

1.初始安装

防火墙开放接口:21,22,80,2401,8009,10000,eth0
Redhat Linux 9.0
Development Tools
Network Servers
VSFtp
CVS-1.11.2-10
MySQL 3.23.54

2. 包安装

JDK 1.4.2_04 下载地址:http://www.netshine.com.cn/linux/j2sdk-1_4_2_04-linux-i586.rpm

Tomcat 5.0.19 下载地址:http://www.netshine.com.cn/linux/jakarta-tomcat-5.0.19.tar.gz

3. 脚本安装

Webmin 1.110 下载地址:http://www.netshine.com.cn/linux/webmin-1.110.tar.gz

ZendOptimizer 2.5.1 下载地址:http://www.netshine.com.cn/linux/ZendOptimizer-2.5.1-Linux_glibc21- i386.tar.gz

4.手工编译

Apache 2.0.49 下载地址:http://www.netshine.com.cn/linux/httpd-2.0.49.tar.gz

PHP 4.3.5 下载地址:http://www.netshine.com.cn/linux/php-4.3.5.tar.gz

JK 2-2.0.4 下载地址:http://www.netshine.com.cn/linux/jakarta-tomcat-connectors-jk2-src-current.tar.gz

5.客户机环境

Windows XP Professional
Absolute Telnet 3.0
Zend Encoder
Macromedia Dreamweaver MX 2004
Borland JBuilder 9 Enterprise
WinCVS 1.3 下载地址:http://www.netshine.com.cn/linux/WinCvs13b17.zip

二.系统安装

启动Linux安装光盘,安装基本系统:FTP、开发工具和MySQL3.23.54。如果你是手工编译安装MySQL,要记得以后在编译PHP等程序时要指明MySQL的具体路径,否则会因找不到路径而导致编译出错。

三.安装webmin1.110

用Webmin来配置系统,傻瓜化,可以节省不少力气,所以一般我都先安装它。安装过程很简单,执行setup.sh脚本后照提示一步一步来就可以了。

# cd webmin*
# ./setup.sh

  

四.安装JDK1.4.2

1.编辑如下三个文件,没有指明全路径的放在你自己的home目录就可以。

/etc/profile
JAVA_HOME=/usr/java/j2sdk1.4.2_04
CLASSPATH=.:
$JAVA_HOME/lib:$JAVA_HOME/jre/lib
CVSROOT=/usr/local/cvsroot
PATH=.:
$JAVA_HOME/bin:
$JAVA_HOME/jre/bin:$PATH
export JAVA_HOME CLASSPATH CVSROOT PATH
/etc/ld.so.conf
/usr/java/j2sdk1.4.2_04/jre/lib/i386
/usr/java/j2sdk1.4.2_04/jre/lib/i386/server
HelloWorld.java
class HelloWorld
{
public static void main(String[] args)
{
//本文件测试Java环境是否安装成功。
System.out.println("Hello World!");
}
}



2.执行以下命令:

# rpm -ivh j2sdk*.rpm
//安装JDK包。
# source /etc/profile
//重载profile环境。
# ldconfig
//创建动态链接库缓存文件。
# javac -d . HelloWorld.java
//编译测试文件。
# java HelloWorld
//运行程序测试安装是否成功。



五.安装Apache

# tar xvzf httpd*
//解压源码包。
# cd httpd*
//进入安装目录。
# ./configure --prefix=/usr/local/apache
--enable-so --enable-mods-shared=most
--enable-rewrite
  # make;make install
//编译并安装。



说明:

--enable-so选项:让Apache可以支持DSO模式,注意,我们在这里采用的是 Apache2.0的语法。如果你的Apache是1.3版本,应改为--enable-module=so。

--enable- mods-shared=most选项:告诉编译器将所有标准模块都编译为DSO模块。你要是用的是Apache1.3,改为--enable- shared=max就可以。

--enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为 --enable-module=rewrite。

六.编译安装PHP

1.执行命令:

#tar xvzf php*
//解压源码包
#cd php*
//进入PHP安装命令
#./configure --prefix=/usr/local/php
--with-mysql --with-apxs2=/usr/local
/apache/bin/apxs --with-java
=/usr/java/j2sdk1.4.2_04
#make;make install
//编译并安装
#cp php.ini-dist /usr/local/php/lib/php.ini
//复制php配置文件
#cd /usr/local/php/lib/php/extensions/
no-debug-non-zts-20020429
//extensions目录
  #ln -s java.so libphp_java.so
//建立连接,忘记了会出错哦
  #cd Zend*
//进入ZendOptimizer目录
  #./install
//安装PHP加速器



说明:

--with-apxs2=/usr/local/apache/bin/apxs是Apache2的语法,1.3版本的用户请使用--with-apxs=/usr/local/apache/bin/apxs。

2.编辑下面三个文件:

/usr/local/apache/conf/httpd.conf
  LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
AddDefaultCharset gb2312
/usr/local/apache/htdocs/test.php
//本程序测试PHP的JAVA环境是否可用,
代码是从http:
//www.php.net/manual/en/ref.java.php摘录下来的。
// get instance of Java class
java.lang.System in PHP
$system = new Java('java.lang.System');
// demonstrate property access
echo 'Java version=' .
$system->getProperty('java.version') . '
';
  echo 'Java vendor=' .
$system->getProperty('java.vendor') . '
';
  echo 'OS=' .
$system->getProperty('os.name') . ' ' .
  $system->getProperty('os.version') .
' on ' .
  $system->getProperty('os.arch') . '
';
 // java.util.Date example
  $formatter =
new Java('java.text.SimpleDateFormat',
  "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
  
  echo $formatter->format
(new Java('java.util.Date'));
  ?>

  
  /usr/local/php/lib/php.ini
  register_globals=On
  [Java]
java.class.path=/usr/local/php/lib/php/
php_java.jar:
/home/jim/myclass
  java.home=/usr/java/j2sdk1.4.2_04
  java.library=/usr/java/j2sdk1.4.2_04
/jre/lib/i386/libjava.so
  java.library.path=/usr
/local/php/lib/php/extensions/
no-debug-non-zts-20020429
  extension_dir=/usr/local/php/lib/
php/extensions/no-debug-non-zts-20020429
  extension=libphp_java.so



注意:

(1).如果你刚刚从以前老版本的PHP转换到新版本,可能会发现你的PHP程序很多都不能用了。不过把 register_globals打开就会一切正常了。这是因为老版本的PHP,它的register_globals默认是开着的,而新版本,却把它关了的缘故。

(2)./home/jim/myclass是我存放JAVA组件的路径,你可以根据实际情况修改,但是为了安全起见,不要放在web目录下。

七.安装Tomcat

1.执行以下命令

#cd *jk2*/jk/native2
//进入连接器编译目录
#./buildconf.sh
//运行配置脚本
#./configure --with-apxs2=/usr/local
/apache/bin/apxs
--enable-jni --enable-EAPI
#make //编译模块
#cd ~jim/src/*jk2*/jk/build/jk2/apache2
//进入编译好模块的目录
#cp *.so /usr/local/apache/modules/
//将模块拷贝到Apache目录
#cp -R jakarta-tomcat-5.0.19 /usr/local/tomcat
//安装Tomcat
#touch /usr/local/apache/logs/shm.file
//建立共享内存文件

  

2.编辑以下文件

/usr/local/apache/conf/httpd.conf
  LoadModule jk2_module modules/mod_jk2.so
  JkSet config.file
/usr/local/apache/conf/workers2.properties
  DocumentRoot "/usr/local/tomcat/webapps"
  
  
  /usr/local/tomcat/webapps/jsp-examples/for.jsp
  
  
  /usr/local/tomcat/conf/jk2.propertie
  handler.list=request,container,channelSocket
  channelSocket.port=8009
  channelSocket.address=127.0.0.1
  channelSocket.maxPort=port+10
  
  /usr/local/apache/conf/workers2.properties
  [shm]
  file=/usr/local/apache/logs/shm.file
  size=1048576
  [workerEnv:]
  info=Global server options
  timing=1
  debug=0
  [channel.socket:localhost:8009]
  port=8009
  host=127.0.0.1
  [ajp13:localhost:8009]
  channel=channel.socket:localhost:8009
  [uri:/*.jsp]
  worker=ajp13:localhost:8009
  
  /etc/rc.d/init.d/httpd
  #!/bin/sh
  
  # chkconfig:2345 92 12
  # description:Starting
Apache and Tomcat Server
  
  LD_LIBRARY_PATH=/usr/java/j2sdk1.4.2_04
/jre/lib/i386:/usr/java/j2sdk1.4.2_04
/jre/lib/i386/server
  export LD_LIBRARY_PATH
  
  CATALINA_BASE=/usr/local/tomcat
  export CATALINA_BASE
  
  CATALINA_HOME=/usr/local/tomcat
  export CATALINA_HOME
  
  APACHE_HOME=/usr/local/apache
  export APACHE_HOME
  
  JAVA_HOME=/usr/java/j2sdk1.4.2_04
  export JAVA_HOME
  
  PROFILEDIR=/var/run
  
  case "$1" in
  start)
  
  if [ -f $PROFILEDIR/Tomcat5_Apache2 ];
then
  echo "Running Tomcat5_Apache2"
  else
  if [ -f $CATALINA_HOME/bin/startup.sh ];
then
  if [ -f $APACHE_HOME/bin/apachectl ];
then
  "$CATALINA_HOME/bin/startup.sh"
  echo "Startting Tomcat5"
  sleep 3
  echo "Startting Apache2"
  $APACHE_HOME/bin/apachectl start
  echo "."
  touch $PROFILEDIR/Tomcat5_Apache2
  else
  echo "Apache File Not Founds"
  fi
  else
  echo "Tomcat File Not Founds"
  fi
  fi
  ;;
  
  stop)
  if [ -f $PROFILEDIR/Tomcat5_Apache2 ];
then
  if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
  if [ -f $APACHE_HOME/bin/apachectl ];
then
  "$CATALINA_HOME/bin/shutdown.sh"
  echo "Stopping Tomcat5"
  sleep 3
  echo "Stopping Apache2"
  $APACHE_HOME/bin/apachectl stop
  rm $PROFILEDIR/Tomcat5_Apache2
  else
  echo "Apache File Not Founds"
  fi
  else
  echo "Tomcat File Not Founds"
  fi
  else
  echo "Not Running Tomcat5_Apache2"
  fi
  ;;
  *)
  echo "Usage; `basename $0`
{start|stop}" 1>&2
  exit 1
  ;;
  esac
  exit 0



3.设置自动启动

#chmod u+x /etc/rc.d/init.d/httpd
//修改文件执行权限
#/sbin/chkconfig --add httpd
//将httpd加入系统启动列表



八.安装CVS

1.编辑以下文件

/etc/xinetd.d/cvspserver
  service cvspserver
  {
  socket_type=stream
  wait=no
  user=root
  server=/usr/bin/cvs
  server_args=-f --allow-root=
/usr/local/cvsroot pserver
  log_on_failure += USERID
  }



2.执行以下命令

# /usr/sbin/useradd -d /usr/local/cvsroot cvs
//创建CVS管理用户。
  #passwd cvs
//创建管理用户密码。
  # chmod 771 /usr/local/cvsroot
//修改CVS根目录权限。
  # su cvs
//使用CVS用户的身份。
  $ cvs -d /usr/local/cvsroot init
//初始化CVS仓库。
  $exit
//退出CVS用户身份。
  #chmod 644 /etc/xinetd.d/cvspserver
//修改CVS服务启动文件权限。
  # /etc/rc.d/init.d/xinetd restart
//重启动xinetd超级服务器。
  # netstat -lnp|grep 2401
//查看CVS服务是否已经启动。
  # /usr/sbin/useradd cvspub
//创建CVS等效系统用户cvspub。
  # /usr/sbin/usermod -G cvs cvspub
//将cvspub用户加入cvs组。
  #cd /home/tets1
//进入测试用的项目目录。
  #cvs import -m
'this is a test only'
test1 v_0_0_1 start
//将当前项目的文件导入CVS仓库。



说明:

CVS的密码问题,以前众说纷纭,有的是编一段程序来生成密码,有的则用所谓的土方法去拷贝shadow 密码。其实我可以告诉初学者一个最简单方便的方法,就是采用Webmin添加CVS用户,它自己就会帮你生成密码。

3.编辑以下文件:

/usr/local/cvsroot/CVSROOT/passwd
test1:NXWxabrVe7z/w:cvspub
test2:FZTxeAWW.ySIA:cvspub



说明:

主要是在最后加上用户名cvspub,让系统用户cvspub代替test1和test2去读写CVS仓库。

/usr/local/cvsroot/CVSROOT/readers
test1
/usr/local/cvsroot/CVSROOT/writers
cvs
test2

  

至此,整个系统配置完成。
分享到:
评论

相关推荐

    LAJP(Linux Apache Java Php) -- PHP结合JAVA的开发技术.zip

    LAJP(Linux Apache Java Php)是一种集成开发环境,它结合了四种开源技术,分别是Linux操作系统、Apache HTTP服务器、Java技术和PHP脚本语言。这种技术栈主要用于构建高效、可扩展的Web应用程序。在LAJP环境中,...

    Jsp,php,asp各自特点

    PHP的语法融合了C和Perl的特点,拥有丰富的内置函数,使得开发动态网站变得快速。PHP与Apache和MySQL的组合是常见的开源解决方案,成本低且执行效率高。然而,PHP在结构上存在一些问题,如没有命名空间,可能导致...

    浅析JSP、ASP与PHP技术.pdf

    浅析 JSP、ASP 与 PHP 技术 本文对 JSP、ASP 和 PHP 三种动态网页技术进行了比较和分析,从编程语言、平台支持和应用性能三个方面对这三个技术的特点进行了讨论。 首先,对 CGI(Common Gateway Interface)进行了...

    JSP技术简介及特点

    4. **与Java无缝集成**:JSP可以直接使用JavaBeans和EJB(Enterprise JavaBeans)进行业务逻辑处理,与Java EE平台完美融合。 5. **版本升级**:随着Java Servlet规范的更新,JSP也经历了多次版本升级,例如JSP 2.0...

    基于PHP的JSP+JavaBean的留言本 JSP 留言板.zip

    【标题】"基于PHP的JSP+JavaBean的留言本 JSP 留言板.zip" 描述了一个融合了PHP和Java技术的留言本系统,它利用了JSP(JavaServer Pages)作为前端展示和JavaBean作为后端业务逻辑处理的架构。这个系统的核心是通过...

    带给PHP和Java世界的双赢.pdf

    WebSphere Mash是一个社区驱动的开发项目,目标是实现一个敏捷的Web应用开发环境,它利用动态脚本语言PHP或Groovy(一种运行在Java虚拟机上的动态脚本语言)和轻量级的Web开发技术,如REST等,大大简化了Java平台的...

    基于Java的Web开发技术.pdf

    PHP技术是一种服务器端的嵌入式脚本语言,与C语言风格相似,广泛应用于各种编程环境中。它实现了跨平台操作,适用于大多数数据库,能够迅速建立动态网页。PHP技术的出现与发展,推动了Web技术的进步。在Web技术的...

    谈asp,php,jsp的优缺点.pdf

    综上所述,ASP.NET适合那些已经熟悉微软开发环境和.NET框架的团队,提供了强大的企业级应用开发能力,但平台依赖性较强。PHP则因其开源、跨平台和高效执行受到喜爱,尤其适合中小型企业或个人开发者。JSP则更适合...

    asp jsp php动态网页作品集

    **JSP(JavaServer Pages)**是Sun Microsystems(现已被Oracle收购)开发的一种用于构建动态Web应用的技术,基于Java平台。JSP文件以".jsp"为后缀,它将HTML代码和Java代码混合编写,通过JSP引擎编译成Servlet执行...

    Perl、PHP、ASP、JSP技术比较

    Perl、PHP、ASP和JSP是四种常见的动态网页开发技术,每种都有其特点和适用场景。以下是对这些技术的详细比较: Perl,全称Practical Extraction and Report Language,最初广泛用于Web应用开发,因其类似C语言的...

    JSP程序设计教程.ppt

    JSP运行需要Java运行环境(JRE)和Java Web服务器(如Tomcat),JSP文件在服务器上被编译成Java Servlet执行。 1.3 一个简单的JSP文件 JSP文件结合了HTML和Java代码,允许在HTML中嵌入Java表达式和指令,实现动态...

    基于PHP的kanlog JSP 博客程序 For JSP.zip

    【描述】"基于PHP的kanlog JSP 博客程序 For JSP.zip" 描述暗示了这是一个专为JSP环境设计的博客应用,意味着它可能需要在支持JSP运行的服务器上部署,如Apache Tomcat。这个博客系统可能包含用户管理、文章发布、...

    开题报告_基于JAVA的销售管理信息系统的开发与实现.pdf

    2. **Eclipse开发环境**:Eclipse是广泛用于JAVA开发的集成开发环境(IDE),提供了一套完整的开发工具和服务,支持多种开发语言和框架,包括J2EE模型、WEB开发工具、EJB开发工具等,极大地提高了开发效率。...

    javabridge

    在J2EE环境下,PHP/Java Bridge可以实现PHP和JSP之间的session共享,支持集群和负载均衡。若配合ECMA虚拟机,如Novell的MONO或Microsoft的.NET,还能访问基于ECMA 335的类并利用其特性,如varargs、reflection和...

    PHP实例开发源码—BlogMethods Basic(基础版) JSP Web安装包.zip

    这个基础版的BlogMethods项目包含了JSP(Java Server Pages)技术的结合,展示了如何在Web开发中融合不同的后端技术。 【描述】描述中提到的"PHP实例开发源码—BlogMethods Basic(基础版) JSP Web安装包.zip",意味...

    基于PHP的DLOG4J JSP Beta2 开源个人版.zip

    【标题】"基于PHP的DLOG4J JSP Beta2 开源个人版"指的是一个开源项目,该项目结合了PHP编程语言与Java Server Pages (JSP) 技术,用于日志记录。DLOG4J可能是一个模仿或扩展Apache Log4j的PHP实现,旨在提供类似于...

    基于Java与多种语言融合的B/S架构物流配送管理平台设计源码

    该平台是采用Java为核心,融合JavaScript、CSS、HTML和PHP等多语言构建的B/S架构物流配送管理系统源码,包含505个文件,其中包括96个less文件、87个Java文件、65个jsp文件、54个js文件、33个png文件、30个css文件、...

    基于PHP的苹果树 JSP 留言板(A).zip

    【标题】:“基于PHP的苹果树 JSP 留言板(A)” ...综上,这个“基于PHP的苹果树 JSP 留言板”项目涵盖了Web开发的多个重要方面,从后端处理到前端展示,再到数据库操作,展示了PHP和JSP在实际项目中的融合应用。

Global site tag (gtag.js) - Google Analytics