servlet-mapping配置的问题

wdhs 2005-02-22 02:56:20
环境:eclipse + tomcat5
目的:
把 http://localhost:8080/vpath/vm/a.c、 http://localhost:8080/vpath/vm/bb.c 等都map到vmdispatcher这个servlet,请问web.xml怎么配置?


---------------
我的web.xml:
<servlet-mapping>
<servlet-name>vmdispatcher</servlet-name>
<url-pattern>/vm/*.c</url-pattern>
</servlet-mapping>
报错信息:
2005-2-22 14:06:43 org.apache.tomcat.util.digester.Digester endElement
严重: End event threw exception
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tomcat.util.IntrospectionUtils.callMethodN(IntrospectionUtils.java:921)
……
2005-2-22 14:06:43 org.apache.catalina.startup.ContextConfig applicationWebConfig
严重: Parse error in application web.xml
java.lang.IllegalArgumentException: Invalid <url-pattern> pageMaker/vm/*.c in servlet mapping
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2719)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2745)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1060)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
……
...全文
936 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ashes 2005-02-22
  • 打赏
  • 举报
回复
你的url-pattern不合法
根据servlet规范
<url-pattern/>里面的内容不能为空且只有两种形式
1. /path[/*]用于路径匹配
2. *.ext用于后缀匹配

所以一个pattern只能以/或*开头,并且*只能出现在开头或结尾
你无法既匹配路径又匹配后缀
wdhs 2005-02-22
  • 打赏
  • 举报
回复
有<servlet>,问题不在它,我就没贴出了
alemjann 2005-02-22
  • 打赏
  • 举报
回复
<servlet>标签是声名你的servlet的名字和class文件的位置
<servlet-mapping>是上面声名的名字的访问url的格式

楼主的配置文件里,只有后者没有前者,所以不知道到哪里找vmdispatcher这个名字命名的servlet
alemjann 2005-02-22
  • 打赏
  • 举报
回复
<servlet>
<servlet-name>vmdispatcher</servlet-name>
<servlet-class>类名(包含包名)</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>vmdispatcher</servlet-name>
<url-pattern>/vm/*.c</url-pattern>
</servlet-mapping>
wdhs 2005-02-22
  • 打赏
  • 举报
回复
sorry,应该是这样:

严重: Parse error in application web.xml
java.lang.IllegalArgumentException: Invalid <url-pattern> /vm/*.c in servlet mapping

jFresH_MaN 2005-02-22
  • 打赏
  • 举报
回复
异常里面是这样的Invalid <url-pattern> pageMaker/vm/*.c in servlet mapping
也就是说你的ServletContex的路径是pageMaker,而我看你输入浏览器里面的路径和这个是不一样的
这是怎么回事呢?
你的Contex是怎么配置的?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧