servlet部署到tomcat中

引用:http://blog.csdn.net/shuidao/article/details/1738059

 

配置,部署 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 后面访问的.

总结:

         有点啰唆,技术含量不高,  希望我的经历对跟我一样入门的菜鸟有所帮助.  本人搞了一整晚才搞定,本人认为难点在于 web.xml的配置,网上很多文章都 直接给出web.xml 而不解释 标签的含义.让人看了不知其所以然,所以就晕了.我也是在这上花了很多时间,所以本文重点在解释web.xml. 

其实简单地说两步就可以部署servlet,第一,建立相应的目录结构。第二,修改web.xml文件。

错漏之处在所难免,欢迎批评指正   by:shuidao     2007.8.11

posted @ 2015-04-21 21:13  wrencai  阅读(2971)  评论(0编辑  收藏  举报