写在前面

在Servlet映射过程中,遇到了一个路径匹配的问题,遂做记录。

如图所示

1

原思路

在login.html页面中有一个form表单,现在想利用action属性提交信息。

于是在xml文件中配置了如下信息:

1
2
3
4
5
6
7
8
<servlet>
<servlet-name>LoginCheck</servlet-name>
<servlet-class>com.login.Users</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginCheck</servlet-name>
<url-pattern>/loginCheck</url-pattern>
</servlet-mapping>

在表单属性中:

1
<form action="loginCheck" method="post">

问题

此时,是找不到loginCheck目标的。经过查阅网上资料,发现url-pattern属性的初识位置是/web页面,若直接写/loginCheck表示从web根目录下面找文件。

解决

因为目标在login.html里,html文件夹下,所以需要修改url-pattern的值为:

1
<url-pattern>/html/loginCheck</url-pattern>

这样才表示去html文件夹下寻找目标,才能正确匹配上。