tomcat 配置,部署servlet全记录

本文详细记录了菜鸟部署Servlet的全过程,从准备工作到配置、部署servlet,以供新手参考。重点介绍了如何配置jdk环境、安装并启动Tomcat、配置web.xml文件以及部署servlet的步骤。
http://hi.baidu.com/panglong/blog/item/5279ebf8df55ed0dd9f9fd3e.html
本人系菜鸟,刚刚学习servlet,感觉到编写servlet倒是不太难,但部署起来就晕了。在网上看了很多文章,最后终于搞定了,下面以菜鸟的角度(本人不是高手,嘿嘿 所以……)记录下部署的全过程,以备来日参考。高手莫笑。    本文写于2007-8-11,所用软件采用最新版
一、准备工作:
1. 电脑一台,(废话,呵呵)
2. jdk 环境,本文使用的是jdk 1.5.0    (这个版本在今天不算是最新版)。jdk环境的安装和配在此就略过了,安装完后只要能正常编译java程序即可。
3.当然是 tomcat了本文采用 tomcai5.5    。tomcat的安装很简单,一般有两种方式: 第一是用zip文件,直接解压到目标目录中。第二是从官方下载 tomcat的安装程序,直接双击安装。本文采用的是第二种方式,下载安装文件,然后双击安装。过程略过,一路默认下一步,也可以修改一下安装路径。
4. 用来测试的servlet,自己写一个简单的 Helloworld servlet。 此处略过。 此处如果编译通不过,可以跳过,先看配置。
二、开始配置
1. 配置jdk, 以前安装好的j2sdk 是不能编译servlet的,因为找不到servlet相关的类文件。解决方法一般有两个,第一可以从sun官方网站下载servlet 所需的类文件,然后补充到j2sdk的 目录下面。第二,由于 安装了tomcat,它自带了最新版的servlet类文件,打包成了jar包。
位置在tomcat安装目录下的     \common\lib\servlet-api.jar。
在我的机器上的全路径为D:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar          其他机器自己改。
配置方法:
在 我的电脑--属性--高级---环境变量 打开。在系统环境变量处,如果以前配置了CLASSPATH环境变量,则点击编辑 把上面的全路径 添加进去,注意用分后与原来的内容隔开。
如果以前没有CLASSPATH环境变量,则点击新建,变量名字为CLASSPATH,内容就是上面的全路径。  不要忘了在全路径后面加上分号和点,表示当前路径
    然后就可以正常编译servlet 了。现在可以编译上面写的 HelloWorld.java 了。
2. 安装完成后,不需要任何环境变量的手动配置,直接从       开始->程序->Apache tomcat5.5-> Monitor tomcat    打开tomcat监视器,    然后在系统任务栏的tomcat 图标点右键,然后start service    启动tomcat  
此时在浏览器输入 http://127.0.0.1:8080     看到tomcat的    页面说明你的tomcat安装没问题。
三.    此处进入主题,配置,部署 servlet。
1. 在tomcat的安装目录下 找到webapps 文件夹,在里面新建一个文件夹,这作为你的网站根文件夹,名字随意取, 本文叫做 serv 文件夹。位置为 \webapps\serv   
通过 http://127.0.0.1:8080 /serv     可以访问到这个位置(现在没有文件,访问会出错)。可以写一个测试文件,index.html 放在这个文件夹下,通过  http://127.0.0.1:8080 /serv /index.html    就可以看到这个文件。
2.    在serv 里面 新建文件夹 WEB-INF ,注意大小写和短线。     在WEB-INF里面新建classes文件夹和web.xml文件。
|-----serv
              |----index.html
              |----WEB-INF
                              |----web.xml      // 此文件是部署关键,修改此文件定义servlet。
                              |----classes     // 此文件夹存放编译好的servlet类文件,如果servlet有pakage,则应建立相应的pakage结构,本问helloworld 未打包,所以自己将HelloWorld.class 放在这里即可。
                                            |-----HelloWorld.class
3. 用记事本打开 web.xml 。
编写如下内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
      version="2.4">
    <display-name>Welcome to my first jsp </display-name>


    <description>
       Welcome to my jsp
    </description>
    <servlet> 
          <servlet-name>Hello</servlet-name>
          <servlet-class>HelloWorld</servlet-class>
      </servlet>
      <servlet-mapping>   
          <servlet-name>Hello</servlet-name>
          <url-pattern>/abc/Hello.do</url-pattern>  
       </servlet-mapping>
</web-app>
保存,后通过 http://127.0.0.1:8080/serv/abc/Hello.do       就可以访问你的HelloWorld 了。注意这个地址后缀跟上面红色代码的联系。
4. 现在重点解释一下 web.xml 文件。
     (1).    上面的 xml的文件头的版本等信息 是粘贴过去就行,
这个web.xml 可以在 webapps\root\WEB-INF 下面找到。这直接复制过去就行了。 需要修改的就是
<display-name>     <servlet> 和<servlet-mapping>    这三个标签的内容。 上面的例子中已经做了相应的修改。 其中重点是修改后面两个标签。
    (2).    解释<servlet>标签:     这是用来创建servlet的标签.    其中<servlet-name>是给servlet取名,本文取作Hello, 这个名字是任意取的.     <servlet-class>是指定这个servlet 所对应的 class文件.    这个文件必须已经编译,并且放在classes文件夹下面.本文是HelloWorld.class    后缀名不写,只写上HelloWorld  
               需要注意两点: 第一,servlet取名是任意的,可以与class文件名相同也可以不同.本文就不同.第二,对应的类文件,如果有包还应带上包的前缀,例如<servlet-class>mypkg1.mypkg2.HelloWorld</servlet-class>这些pakage 的结构必须在classes文件夹中已经建立.
             当网站中用到多个servlet 时 可以重复粘贴这个servlet标签,然后修改 相应的名字和class文件.
     (3).    解释<servlet-mapping>标签:这是用来定义 从web页面访问servlet时 所需的访问后缀字符串与对应的servlet的 映射关系.      其中<servlet-name>是需要接受访问的servlet的名字, 这个名字必须已经用上述<servlet>    定义过.    本文就是Hello.      <url-pattern>是    是定义 访问这个servlet是 所需要给定的访问后缀字符串 本文给定  /abc/Hello.do  是随意给的,在网站的跟目录下加上这个字符串就可以访问指定的servlet了. 这里的abc 并不是文件夹, 后面的.do 也不是后缀名, 而是随意给的.
也可以改为<url-pattern>/aaabbbccc</url-pattern>
这样通过http://127.0.0.1:8080/serv/aaabbbccc       这个地址同样可以访问 HelloWorld.
需要注意一点 :     /aaabbbccc 前面的 斜线不能丢.    而且这个字符串是直接加在网站的跟路径下访问的,与servlet的 实际路径无关. 本文就是加载 serv 后面访问的.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值