我现在已经会在WEB.XML里配置单个servlet的访问,但这样是访问某个固定的CLASS,现在我是想在地址栏里输入指定的名称就可以访问到指定的CLASS,如
http://127.0.0.1:8080/myClass.hellow
其中myClass是包,hellow是CLASS即hellow.class
这个class我是放在 web-inf/classes下的,
那怎么样才能在web.xml里配置匹配的servlet来访问web-inf/classes下匹配的class呢??

解决方案 »

  1.   

    把WEB-INF/web.xml内容改为:
    <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
      <display-name>Welcome to Tomcat</display-name>
      <description>
         Welcome to Tomcat
      </description>  <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
      </servlet-mapping>
    </web-app>
    试试看!友情提示:注意写包的时候,把包路径包含进path.祝你成功!!
      

  2.   

    不好意思,是把包路径包含进classpath
      

  3.   

    <display-name>myClass</display-name>
      <description>
         Welcome to Tomcat
      </description>  <servlet-mapping>
        <servlet-name>myClass</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
      </servlet-mapping>
      

  4.   

    不行啊,我问一下,要不要在web-inf下建立servlet这个目录,还有里面要放什么东西,我现在把CLASS是放在web-inf\classes下的,建立目录是这样子的 web-inf\classes\myClass\hellow.class
      

  5.   

    楼主你的这个hellow.java是一个servlet么?如果不是的话为什么要这样直接访问class呢?
    servlet的配置在web.xml中,照你项目看应该如下配置:
    <servlet>
        <servlet-name>hellowServlet</servlet-name>
        <servlet-class>myClass.hellow</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hellowServlet</servlet-name>
        <url-pattern>*.hellow</url-pattern>
    </servlet-mapping>web.xml应该位于项目根目录/WEB-INF下
      

  6.   

    谢谢qingyuan18(zealot_tang),我这个是 servlet,但按你的配置我不是只能访问myClass.hellow呀,我的意思是想访问多个class,比如我还有myClass.hellow2,myClass.hellow3呢,那你下面的*.hellow也就只能够访问myClass.hellow呀,关注
      

  7.   

    以前看了篇帖子是这样修改web.xml的:
    <servlet>
      <servlet-name>invoker</servlet-name>
      <servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>invoker</servlet-name>
      <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
    我照着改了可是不行,不知道是不是与tomcat版本有关。毕竟这种用法不是servlet规范要求容器必须实现的。
      

  8.   

    Thank you  wssgwps(小刀会) very much!
    按你的方法问题解决,谢谢,结帖