首页 新闻 赞助 找找看

Java Servlet通配符问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-09-02 10:04

开始重拾Java,联系的时候,配置了要给Servlet,但是在配置的时候使用通配符*的话,只匹配*,其他字符都 报404.

 

配置文件如下:

<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/servlet/FirstServlet.*</url-pattern>
</servlet-mapping>

 

比如我输入

http://localhost:8080/JSPTest/servlet/FirstServlet.*

可以正常访问。

输入

http://localhost:8080/JSPTest/servlet/FirstServlet.123

就会报错

 

很疑惑,希望大神解救。

MNight的主页 MNight | 初学一级 | 园豆:180
提问于:2013-08-23 12:32
< >
分享
最佳答案
0

在web.xml文件中,以下语法用于定义映射:

  1. 以”/’开头和以”/*”结尾的是用来做路径映射的。
  2. 以前缀”*.”开头的是用来做扩展映射的。
  3. “/” 是用来定义default servlet映射的。
  4. 剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action

 

你的不符合这几种格式

收获园豆:6
beiyeren | 菜鸟二级 |园豆:244 | 2013-09-02 10:00

感谢,我已经找到问题了,只是我些的例子是书上的例子,当时没有考虑是书错了……

MNight | 园豆:180 (初学一级) | 2013-09-02 10:04
其他回答(1)
1

我累个乖乖,这个不叫通配符、

servlet拦截的是你uri为:/servlet/FirstServlet.* 的请求、

每一个请求都会有一个uri:而每一个uri对应一个<url-pattern>/servlet/FirstServlet.*</url-pattern>

 

非要通配符,那你就要采用过滤器来通配、struts2也是过滤器来做的、内部很多的拦截器、

收获园豆:4
Beyond-bit | 园豆:2885 (老鸟四级) | 2013-08-23 13:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册