`
Joy.zhang
  • 浏览: 58829 次
  • 性别: 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则更适合...

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

    文献综述部分列举了涉及JAVA编程、Eclipse使用、XML技术、HTML+CSS网页设计、Java Web开发、JSP&Servlet以及PHP与MySQL数据库等相关技术的参考书籍,显示出本课题将综合运用多种技术进行系统开发。 总的来说,这个...

    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。这个博客系统可能包含用户管理、文章发布、...

    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实现,旨在提供类似于...

    JSP程序设计从入门到精通

    在环境安装配置部分,作者指导读者如何设置JSP开发环境,重点讲解了使用Apache Tomcat服务器配置JSP环境的过程,包括如何创建工作目录,确保读者能够顺利运行JSP程序。 JSP语法是入门的关键,书中对JSP页面中的元素...

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

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

Global site tag (gtag.js) - Google Analytics