建造Linux开发环境----Tomcat,JSP
时间:2006-01-22
来源:互联网
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环境变量的一部分,以后你想运行java命令编绎一个.java源文件时,只需要输入java filename就行了,而不需要输入java文件所在的完整路径。
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
有两个方法,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/sharetomcat5 #CLASSPATH=\ #$JAVA_HOME/lib/tools.jar:\ #$CATALINA_HOME/bin/commons-daemon.jar:\ #$CATALINA_HOME/bin/bootstrap.jar case "$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
或者你在终端里运行:
lln -s /etc/init.d/tomcat5.sh /etc/rc0.d/K90tomcat5.sh ln -s /etc/init.d/tomcat5.sh /etc/rc1.d/K90tomcat5.sh ln -s /etc/init.d/tomcat5.sh /etc/rc2.d/S90tomcat5.sh ln -s /etc/init.d/tomcat5.sh /etc/rc3.d/S90tomcat5.sh ln -s /etc/init.d/tomcat5.sh /etc/rc4.d/S90tomcat5.sh ln -s /etc/init.d/tomcat5.sh /etc/rc5.d/S90tomcat5.sh ln -s /etc/init.d/tomcat5.sh /etc/rc6.d/K95tomcat5.sh
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/jsvc.tar.gz,将其解压,得到/usr/share/tomcat5/bin/jsvc- src文件夹。在终端运行:
/usr/share/tomcat5/bin/jsvc-src/configure --with-java=/usr/lib/j2sdk1.4-sun
make
得到/usr/share/tomcat5/bin/jsvc-src/jsvc文件。将/usr/share/tomcat5/bin/jsvc- src/native/tomcat5.sh脚本文件拷贝到/etc/init.d下,再使用2.2.1中的的半部分方法将tomcat设置为自启动。
/etc/init.d/tomcat5.sh还需要修改,使其看起来像:
JAVA_HOME=/usr/lib/j2sdk1.4-sun CATALINA_HOME=/usr/share/tomcat5 DAEMON_HOME=/usr/share/tomcat5 TOMCAT_USER=tomcat5 #这里改为一个普通身份的用户名 TMP_DIR=/var/tmp CATALINA_OPTS= CLASSPATH=\ $JAVA_HOME/lib/tools.jar:\ $CATALINA_HOME/bin/commons-daemon.jar:\ $CATALINA_HOME/bin/bootstrap.jar case "$1" in start) # # Start Tomcat # $DAEMON_HOME/bin/jsvc-src/jsvc \ ......
问题:无法用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" />
找到
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
并在其后面加上:
<Context path="" docBase="/home/tomcatweb" crossContext="false" debug="0" reloadable="true"></Context>
4,中文问题
tomcat并没有特殊的中文问题。而且大部分情况下的中文问题是因为用户根本就不会写JSP代码,甚至不会写HTML代码。
4.1 简单HTML文件的乱码问题
一个HTML文件,里面包含有中文文字,如:
<html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> </head> 你好。 </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>
4.3 被包含的文件的内容是乱码
如果你的parent.jsp文件中使用<jsp:include page="child.jsp" />文件包含了child.jsp,请在parent.jsp和child.jsp文件中都指定了正确的<%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8为正确的编码),两者可以不一样。
如果你的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会出错(不总是)。
4.4 使用javaIO读取的文件是乱码
请重写你的函数,而不是试图更改tomcat的设置。
如果你发现错漏之处请告诉及时我。在此跟贴或者到我的个人网站留言http://www.ideawu.net
作者: ideawu 发布时间: 2006-01-22
作者: d00m3d 发布时间: 2006-01-23
作者: redinux 发布时间: 2006-02-18
Package: tomcat5 Priority: optional Section: web Installed-Size: 336 Maintainer: Debian Java Maintainers <[email protected]> Architecture: all Version: 5.0.30-9 Depends: kaffe (>= 2:1.1.6-3) | java-gcj-compat-dev (>= 1.0.41-1) | java2-runtime, libtomcat5-java (>= 5.0.30-9), adduser (>= 3.34), apache-utils (>= 1.3.33-1) | apache2-common Suggests: java-virtual-machine, libapache-mod-jk | libapache2-mod-jk, tomcat5-webapps, tomcat5-admin Filename: pool/main/t/tomcat5/tomcat5_5.0.30-9_all.deb Size: 44796 MD5sum: 798b4a7de1c8706ce2a0945eba32ec21 Description: Java Servlet 2.4 engine with JSP 2.0 support Apache Tomcat 5 is the reference implementation for the Java Servlet 2.4 and JavaServer Pages (JSP) 2.0 specification from the Apache Jakarta project. . This package just contains the startup scripts for Tomcat 5. No documentation or web applications (webapps) are included here, please install the tomcat5-webapps package if you want them. . For more information about Tomcat please take a look at the Tomcat home page at http://jakarta.apache.org/tomcat/index.html. . The official Servlet 2.4 and JSP 2.0 specifications can be found at http://java.sun.com/products/servlet/ and http://java.sun.com/products/jsp/
作者: linuxcpp 发布时间: 2006-02-18
作者: hanzixing 发布时间: 2006-02-18
作者: redinux
uo里面有j2sdk1.5和tomcat5.0.7,虽然版本不是最新的,但是用的是debian的安装方式,不用楼主那么麻烦
|
作者: linfans 发布时间: 2006-02-28
我先用make-jpkg生成jdk的deb包,然后安装该deb包。发现JAVA_HOME实际为/usr/lib/j2sdk1.5-sun。在/etc/default/tomcat文件中加上一行JAVA_HOME=/usr/lib/j2sdk1.5-sun。
之后安装tomcat4以及tomcat4-webapps软件包。
然后用浏览器访问该tomcat所在的服务器的IP,用http协议,端口设置为8180就可以看到apache jakarta的帮助页面了。所对应的index.jsp是在$CATALINA_HOME/webapps/ROOT/index.jsp
$CATALINA_HOME实际的位置是/var/lib/tomcat4。
作者: realtang 发布时间: 2006-08-13
作者: 林知枫 发布时间: 2007-04-17
/usr/share/tomcat5/bin/jsvc-src/configure --with-java=/usr/lib/j2sdk1.4-sun
这一步我始终不成功
系统提示:
CH:/opt/apache-tomcat-6.0.10/bin/jsvc-src# ./configure -- with-java=/opt/jdk1.5.0_09
configure: error: unrecognized option: --
作者: 林知枫 发布时间: 2007-04-17
我现在是在登陆后在会话窗口里添加的启动程序,这样tomcat就可以在root登陆后启动了,但不用root登陆,tomcat就不能启动
有没有办法让tomcat在登陆之前启动?
我用楼主的方法始终不成功
系统提示:
CH:/opt/apache-tomcat-6.0.10/bin/jsvc-src# ./configure -- with-java=/opt/jdk1.5.0_09
configure: error: unrecognized option: --
作者: 林知枫 发布时间: 2007-04-18
export JAVA_HOME = "自己选择的路径" 就可以了 哈哈
简单~~
作者: uniqueLee 发布时间: 2009-06-03
export JAVA_HOME = "自己选择的路径" 就可以了 哈哈
简单~~
作者: uniqueLee 发布时间: 2009-06-03
作者: lanxingke 发布时间: 2009-07-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28