ITPub博客

首页 > 数据库 > Oracle > Tomcat+JSP经典配置实例02

Tomcat+JSP经典配置实例02

原创 Oracle 作者:ras 时间:2007-08-26 20:08:22 0 删除 编辑

JSP环境配置心得

首先要说的是,使用jdk+tomcat完全可以配置我们的jsp服务器,一般的学习调试tomcat完全可以胜任了。

安装jdk后,tomcat在安装之前会自动找到jdk的安装路径,一路点击"下一步",经过一段时间的文件复制,最后"close",完成comcat的安装。

您最好去下载一个版本较高的tomcat,比如5.1以上的,因为它不需要设置太多的系统变量,右击"我的电脑",选择"属性"->"高级"->"环境变量"->"系统变量",新建一个TOMCAT_HOME,值设置成你的tomcat所在的路径,比如:D:Program FilesApache GroupTomcat 5.5,配置完成。
[@more@]从开始菜单中找到tomcat选项,一般打开顺序是:开始->程序->Apache Tomcat 5.5,选择"Start Tomcat",让jsp服务器开始运行,此时会打开一个类似Dos的窗口,会显示一些相关的信息。

如果您使用代理上网,一定要先撤掉代理,不然您的jsp程序永远也得不到执行。如果不是代理的,这一步就跳过了。

打开浏览器,输入:http://localhost:8080,如果看到有老虎(我也不知道是老虎还是猫)的画面,恭喜您,您成功了一半。

先来享受一下成功的喜悦吧,请输入下面的代码:



First Page


Today is: h
<%= new java.util.Date() %>





将该程序保存为:First.jsp,放到Tomcat的ROOT目录下,然后在浏览器的地址栏中输入:http://localhost:8080/First.jsp,(回车,如果不出意外,应该可以看到形如Today is: h Fri Apr 11 08:32:38 CST 2007的结果。

注意:ROOT是tomcat的默认虚拟目录,如果要改成自己的虚拟目录怎么办呢?请继续往下看吧。

要改成自己的虚拟目录,就要请出server.xml来了,该文件是一个配置文件,在Tomcatconf目录下,使用任何文本编辑软件都能打开它,我们先找到下面一句:

port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" c
useURIValidati disableUploadTimeout="true" />

这里的port="8080"就是端口,我们完全可以用别的端口来代替,但不能是被系统占用的端口(0--1023),这里简单提一下。

下面我们再往下找,会发现以下的语句:




我们就应该找到这两个语句,如果不懂E文,您就认定这两个语句好了。然后我们将该语句更改如下:






这里的path="/myjsp"就是我们就配置的虚拟目录了,以后在地址栏中输入http://localhost:8080/myjsp即可。而docBase="e:/myjsp" 则是机器本地路径,他们通过这个语句形成一个映射关系,其它照抄。

将上面的First.jsp文件放到e:/myjsp目录下,输入http://localhost:8080/myjsp/First.jsp,是不是有一种喜上眉梢的感觉?

在论坛里我见得最多的就是很多人不知道javaBean文件放到哪里,老实说开始我也不知道,更令人不解的是,十个人有九种不同的说法,这更让我们茫然。其实这问题也不是我们想像的那么复杂,我们以一个例子说明:

先建立一个java程序,代码如下:

package hall;
public class SimpleBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}

保存为SimpleBean.java,编译后会生成一个包,其实就相当于一个目录,也就是SimpleBean.class会存放在hall目录中,暂且保存起来,将来备用。

再输入以下代码:



Reusing JavaBeans in JSP





Reusing JavaBeans in JSP





Message:




保存在我们刚才建立的虚拟目录e:/myjsp下面,并命名为:BeanTest.jsp。

现在我们应该将hall(包)目录放在哪儿呢?别急,我们先在e:/myjsp下建立一个文件夹WEB-INF,然后再在WEB-INF下建立一个classes文件夹,最后将hall目录放到classes下,当然,hall下的字节码文件SimpleBean.class也一并要移过来,而SimpleBean.java就和BeanTest.jsp放到同一目录吧(可以不需要放的,自己试试)。

重新启动机器(如果您试了好多次都不行,这一步一定要做),在浏览器中输入:http://localhost:8080/myjsp/BeanTest.jsp,您看到了什么?呵,别告诉我您什么都没看到,那肯定是您设置的问题了。

首先是下载工具:

我建议初学者用Editplus+JDK,我觉得如果用例如JB,Eclipse,JCreator,虽然刚开始的时候比较方便,但是确使初学者门不知道怎样配置环境变量,

从而难以达到知其然,知其所以然的地步

然后就是安装JDK,我是把它装到从c:JDK目录下面:

然后就是CLASSPATH的问题了:

正如操作系统利用PATH来搜索可执行程序一样,Java运行环境也会遍历CLASSPATH来查找类,即便是HelloWorld这样简单的程序,JVM也会遍历

CLASSPATH定义的每一个路径,直到找到相应的文件为止。

然后就应当如下设置Path:

我的电脑->属性->高级->环境变量

然后在环境变量的Path后面追加: C:JDKin;.;C:JDKlib

也可以这样配置:C:JDKin;.;C:JDKlibdt.jar;C:JDKlib ools.jar

★记住:环境变量中的 . 切记不能少,它表示当前路径,如果少掉出现的错误等会就说!

dt.jar是关于运行环境的类库,tools.jar是关于一些工具的类库

如果没有配置:C:JDKin,则会出现 " javac′ 不是内部或外部命令,也不是可运行的程序或批处理文件。"这样的错误。

然后下面就该写程序了:

首先是(HelloWorld.java),打开Editplus,新建一个Java文件,请照着如下输入,要一字不漏,并且分清大小写:

public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}

然后把这个文件保存(ctrl + s)到HelloWorld.java,记住大小写一定要分清,是HelloWorld.java
运行:开始->运行->cmd

在控制台中把目录切换到当前目录:

javac HelloWorld.java
java HelloWorld

你就会在控制台上看见输出的Hello,World!(没出来?我把电脑吃了:))

javac是编译命令,它把HelloWorld.java编译成HelloWorld.class

java就是解释命令,JVM把HelloWorld.class解释执行.

在这个时候:

1。如果出现Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

那就是你在环境变量中没有加上那个.(dot)

2。如果出现Exception in thread "main" java.lang.NoSuchMethodError: main

或者HelloWorld.java:1: Public class helloworld must be defined in a file called

"HelloWorld.java".

那就是你没有分清大小写的写入这个HelloWorld,或者保存得时候没有保存为HelloWorld.java

这个名字一定要跟public class的名字一样

下面我先所说怎么在Editplus里面编译和运行,在Tools->参数设置->配置用户工具

1.添加工具(添加应用程序)

菜单文字:Compile Java Program

程序:C:JDKinjavac.exe

参数:文件名称

初始目录:文件目录

2.添加工具(添加应用程序)

菜单文字:Run Java Program

程序:C:JDKinjava.exe

参数:文件名称(不含扩展名)

初始目录:文件目录

工具组名称可以随便添,比如Debug Java Program

然后在Tools的下拉菜单中,你就会看见Compile Java Program以及Run Java Program这两个选项,以后你就可以利用ctrl + 1编译和ctrl +2运行程序了

下面就讨论Servlet的运行:

首先要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat

Tomcat(最新版本5.5):http://apache.justdn.org/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.exe然后把这个压缩包解压到:

C:Tomcat

然后再配置环境变量:

添加三个系统变量:

JAVA_HOME: C:JDK
TOMCAT_HOME: C:Tomcat
CLASSPATH: %JAVA_HOME%lib;%TOMCAT_HOME%lib

Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:

在控制台中转到C:Tomcatin这个目录,运行startup,然后回出现一个窗口,连跳一大串东西,最后表示Server已经运行

在浏览器中输入http://localhost:8080,出现欢迎界面,则表示Tomcat没问题了

然后和上面一样,写入你的第一个Servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(""); <br />out.println("This is my first Servlet"); <br />out.println("");
out.println("

Hello,World!

");
out.println("");

}
}

然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servlet.*

那么就是应该把C:Tomcatcommonlib里面的servlet.jar(根据实际来看)文件拷贝到C:JDKjrelibext中,再次编译,就没有问题了!

然后在Tomcat目录里面的C:TomcatwebappsROOT里面按如下的文件结构:

ROOTindex.html
ROOTwelcom.jsp
ROOTWEB-INFlibMyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在lib下面)
ROOTWEB-INFclassesHelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)

然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found

怎么回事呢?

Servlet必须使用C:TomcatwebappsROOTWEB-INF这个目录下面的web.xml文件进行注册,用EP打开这个web.xml文件,在里面加入


HelloWorld
HelloWorld


HelloWorld
/servlet/helloworld


这样的结构


HelloWorld
HelloWorld


表示指定包含的servlet类.
而以下的结构


HelloWorld
/servlet/HelloWorld


表示指定HelloServlet应当映射到哪一种URL模式。

在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10802314/viewspace-966255/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    8
  • 访问量
    5255