首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>网络应用>正文

建造Linux开发环境--Tomcat,JSP

http://www.oklinux.cn  2006-07-10  来源: oklinux收集整理  golshing      会员收藏  游客收藏  【 】 
我假设你使用Debian3,如果你使用其他的Linux版,可能会有安装方法和设置路径上的区别。

1,安装J2SDK

1.1 使用Debian源里的安装包

以root 身份运行apt-get install sun-j2sdk1.4,这样将安装sun的j2sdk1.4。然后输入java如果你看到的不是command not found,就表示你已经安装正确了。否则搜索是否有java和javac两个文件,我的在/usr/lib/j2sdk1.4-sun/bin下,如果 有就创建链接到/usr/bin下,连接名与原文件名一样。

1.2 使用sun网站上的安装包

具体方法参考sun网站上的安装说明。也可以参考我的做法(图形界面操作):

下载正确的压缩包后解压,一般得到类似名为jdk1.x.x的文件夹。将整个文件夹移动到/usr/lib目录下,然后进入 jdk.1.x.x/bin下的java, javac, javadoc, jar四个可执行文件创建链接,然后复制到/usr/bin文件夹下,并且改名为与原文件相同。这样做的原因是一般/usr/bin是$PATH环境变量 的一部分,以后你想运行javac命令编绎一个.java源文件时,只需要输入javac filename就行了,而不需要输入javac文件所在的完整路径。

JAVA_HOME环境变量可以不设置,因为据我的使用经验,java,javac等jdk的程序知道在哪里找到自己的家。当某个程序需要JAVA_HOME环境变量,我们再在它的启动脚本中设置。因为使用JAVA_HOME环境变量的程序很少。

2,安装Tomcat

http://tomcat.apache.org/网站上下载tomcat for Linux。网站上有不同版本的源码包和二进制包等,而二进制包又有core,deployer,embedded三种。我使用tomcat5.28二进制包中的core。

下载jakarta-tomcat-5.0.28.tar.gz解压,将得到jakarta-tomcat-5.0.28文件夹,我把它改名为tomcat5,把它拷贝到你喜欢的地方。我放在/usr/share/下。

2.1 试运行tomcat

在终端中输入/usr/share/tomcat5/bin/startup.sh,将启动tomcat。然后你在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080你就看到tomcat产生的页面了。

运行/usr/share/tomcat5/bin/startup.sh出错?试运行:

JAVA_HOME=/usr/lib/j2sdk1.4_sun #这里的路径是你的j2sdk的安装路径export JAVA_HOME/usr/share/tomcat5/bin/startup.sh
2.2 将tomcat设置为开机启动
有两个方法,1是使用tomcat自带的启动脚本启动,2是使用jsvc将tomcat启动为Linux的一个进程。

2.2.1

建立一个脚本命名为tomcat5.sh,内容为:

#!/bin/sh#file:tomcat5.sh#设置环境变量,如果无法启动就将注释去掉#JAVA_HOME=/usr/lib/j2sdk1.4-sun#CATALINA_HOME=/usr/share/tomcat5#CLASSPATH=\#$JAVA_HOME/lib/tools.jar:\#$CATALINA_HOME/bin/commons-daemon.jar:\#$CATALINA_HOME/bin/bootstrap.jarcase "$1" in start)   echo "Starting tomcat5..."   /usr/tomcat5/bin/startup.sh   ;; stop)   echo "Stopping tomcat5..."   /usr/tomcat5/bin/shutdown.sh   ;; *)   echo "Usage tomcat.sh start/stop"   exit 1;;esac#tomcat5.sh end
将tomcat5.sh 拷贝到/etc/init.d下面。然后运行/usr/bin/ksysv运行图形界面的开机启动设置工具。将Available Services栏里的tomcat5.sh拖到Runlever 2 Start,Runlever 3 Start,Runlever 4 Start,Runlever 5 Start,Runlever 6 Start,Runlever 0 Stop,Runlever 1 Stop,Runlever 6 Stop,你可能需要注意图标的位置,我将图标拖到每一栏的启动项目标号是90的位置。

或者你在终端里运行:

ln -s /etc/init.d/tomcat5.sh /etc/rc0.d/K90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc1.d/K90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc2.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc3.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc4.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc5.d/S90tomcat5.shln -s /etc/init.d/tomcat5.sh /etc/rc6.d/K95tomcat5.sh
重启机器看tomcat是否可以自动启动了。

2.2.2

方法2.2.1有一个严重的问题,那就是tomcat具有root权限。我意味着你的任何一个jsp脚本都具有root权限,所以可以轻易地用jsp脚本删除你整个硬盘里的东西!所以我们最好不要使用2.2.1方法。

我们下载的jakarta-tomcat-5.0.28.tar.gz带有fsvc工具,在压缩包里的jakarta-tomcat- 5.0.28/bin/fsvc.tar.gz,如果你按上面的步骤做了,它就在 /usr/share/tomcat5/bin/fsvc.tar.gz,将其解压,得到/usr/share/tomcat5/bin/fsvc- src文件夹。在终端运行:

/usr/share/tomcat5/bin/fsvc-src/configure --with-java=/usr/lib/j2sdk1.4-sun

make

得到/usr/share/tomcat5/bin/fsvc-src/fsvc文件。将/usr/share/tomcat5/bin/fsvc- src/native/tomcat5.sh脚本文件拷贝到/etc/init.d下,再使用2.2.1中的的半部分方法将tomcat设置为自启动。

/etc/init.d/tomcat5.sh还需要修改,使其看起来像:

JAVA_HOME=/usr/lib/j2sdk1.4-sunCATALINA_HOME=/usr/share/tomcat5DAEMON_HOME=/usr/share/tomcat5TOMCAT_USER=tomcat5 #这里改为一个普通身份的用户名TMP_DIR=/var/tmpCATALINA_OPTS=CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$CATALINA_HOME/bin/commons-daemon.jar:\$CATALINA_HOME/bin/bootstrap.jarcase "$1" in start)   #   # Start Tomcat   #   $DAEMON_HOME/bin/jsvc-src/jsvc \......
先不要重启试验,请手动运行/etc/init.d/tomcat5.sh start,然后在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080看tomcat是否能够启 动,再运行/etc/init.d/tomcat5.sh stop看是否能停止。

问题:无法用fsvc启动tomcat?

http://jakarta.apache.org/commons/daemon/faq.html有说明。如果你使用Debian,运行 modconf然后将/kernel/security下的capability模块安装上。如果你使用其它的版本,并且把capability编绎为模 块,请在/etc/init.d/tomcat5.sh的合适位置(你想使用第2行?)加上modprobe capability。

3,设置tomcat的server.xml布署网站

如果你想让别人在浏览器中输入你的IP而不需要在IP后面加上“:端口号”就能访问你的网站的话,请将

<connector port="8080" maxthreads="150" minsparethreads="25" maxsparethreads="75"         enablelookups="false" redirectport="8443" acceptcount="100" debug="0"         connectiontimeout="20000" disableuploadtimeout="true"></connector>
中的port="8080"改为port="80",因为80是浏览器请求的默认端口。找到

<host name="localhost" debug="0" appbase="webapps" unpackwars="true" autodeploy="true"         xmlvalidation="false" xmlnamespaceaware="false"></host>
修改为使appBase="/home/tomcatweb"。并在其后面加上:

<context path="" docbase="/home/tomcatweb" crosscontext="false" debug="0" reloadable="true"></context>
把你自己的index.jsp放在/home/tomcatweb目录下,然后在浏览器中输入http://127.0.0.1,你应该就能看到index.jsp的运行结果了。

4,中文问题

tomcat并没有特殊的中文问题。而且大部分情况下的中文问题是因为用户根本就不会写JSP代码,甚至不会写HTML代码。

4.1 简单HTML文件的乱码问题

一个HTML文件,里面包含有中文文字,如:

<html><head>        <meta http-equiv="content-type" content="text/html; charset=UTF-8" /></head>你好。</html>
上面的标签告诉浏览器你的HTML文件使用的是UTF-8编码格式。请将UTF-8正确地设置为你的文本编辑器保存时的编码,否则,只有全英文HTML源码文件才能保证不出现乱码。

4.2 简单的JSP文件的乱码问题

一个JSP文件,里面包含有中文文字,如:

<%@ page contentType="text/html; charset=UTF-8" %><html><head>        <meta http-equiv="content-type" content="text/html; charset=UTF-8" /></head><%        out.println("你好。");%></html>
<%@ page contentType="text/html; charset=UTF-8" %>标签告诉tomcat和java编绎器你的文件的编码是UTF-8格式的。

4.3 被包含的文件的内容是乱码

如果你的parent.jsp文件中使用<jsp:include page="child.jsp" >文件包含了child.jsp,请在parent.jsp和child.jsp文件中都指定了正确的<%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8为正确的编码),两者可以不一样。</jsp:include>

如果你的parent.jsp文件中使用<%@ include file="child.jsp" %>文件包含了child.jsp,请保证parent.jsp和child.jsp是相同的编码,并且在parent.jsp中设置了正确的 <%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8为正确的编码)。不要在child.jsp中设置<%@ page contentType="text/html; charset=UTF-8" %>,否则,tomcat会出错(不总是)。

上一篇:安装配置telnet服务   下一篇:Apache与Tomcat整合问题的新方法


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Apache与Tomcat整合问题的新方法
·安装配置telnet服务
·Linux 下配置 Apache Proxy 与 Cache
·Linux下Tomcat的安装
·【分享】统计查询Web网站服务器信息的好方法
·我这样搭建DIY的服务器版 FC5
·【求助】可否让Active Directory做OpenLDAP的同步镜像
·让Linux成为DNS服务器----------操作系统:RedHat 6.2
·Sendmail服务器配置 (RedHat 6.2)
·Linux下Sendmail邮件服务器配置全攻略
·在redhat中如何设置是否自启动某项服务
·Win2000下安装Apache,PHP,Mysql经验
·设定Linux Web 服务器
·求救!!!!
·高手支招:ASP+Access的安全隐患及对策
·小窍门 轻轻松松把 Apache 配置安全
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·VMware下让Linux系统与真实主机共享上
·Linux系统下服务器的硬件检查和文件传
·在虚拟机Redhat Linux下安装Samba服务
·Linux操作系统下PPPOE拨号共享上网方法
·xManager连接Linux的配置方法
·Linux和Window系统远程桌面相互访问方
·Ubuntu下用手机连接蓝牙局域网pan/pand
·如何解决Xmanager不能登陆Linux系统问
·通过Amora用symbian手机控制Linux计算
·在Linux操作系统下单网卡实现双IP的设
·Linux下使用Openssh工具远程管理Solari
·VMware下Linux与真实主机共享上网的方
  阅读排行
·LVS集群学习笔记(NAT\DR\IP tunnel)
·防火墙也能DIY----免费的专业级防火墙M
·Linux系统邮件服务器常见错误报告列表
·linux下文件服务Vsftp详细介绍
· 快速架设apache/vsftpd/samba/sendmai
· Linux下Tomcat配置技巧详解分析
·如何利用集群技术实现Web服务器的负载
·Suse Linux下的samba设置用户说明
·Linux操作系统下SVN服务器的搭建详解
·RHEL5实现高可用HA集群+GFS+Enterprise
· Snort 用户手册
·使用 screen 管理你的远程会话
·Linux操作系统下的集群工作原理及实战
·用Xmanager远程管理LINUX,AIX等UNIX系
·路由器和防火墙软件coyote Linux配置指
网摘收藏: