Servlet中的配置 web.xml
url-pattern配置
可以为同一个Servlet配置多个url-pattern:
<servlet> <servlet-name>DoGetPostDemo</servlet-name> <servlet-class>org.lyk.servlet.DoGetPostDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>DoGetPostDemo</servlet-name> <url-pattern>/testA.html</url-pattern> <url-pattern>/testB.html</url-pattern> </servlet-mapping> |
也可用*做模糊匹配
<servlet> <servlet-name>DoGetPostDemo</servlet-name> <servlet-class>org.lyk.servlet.DoGetPostDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>DoGetPostDemo</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping> |
ServletMapping匹配规则
Servlet mapping有对应的匹配规则,其优先级分别如下:
- 精确路径匹配 ,完全匹配
- 最长路径匹配
- 扩展名匹配
- default servlet 或者放弃
load-on-startup
默认情况下,在容器启动的时候,servlet不会被加载,而当有对应请求的时候才回去加载对应的servlet。但是,可以在配置中特别指定哪些servlet可以在容器启动的时候就进行加载。
<servlet> <load-on-startup>0</load-on-startup> <servlet-name>DoGetPostDemo</servlet-name> <servlet-class>org.lyk.servlet.DoGetPostDemo</servlet-class> </servlet> |
这里要注意的是,优先级0最大,其次是1,2,以此类推。也就是说,有多个servlet都配置了该属性的时候,在容器启动时会根据优先级而确定对应的servlet的加载顺序。
访问页面不存在
有的时候,当用户输入一些非法地址时会导致访问页面不存在的错误,也就是404 Error。我们可以在配置文件中指定当该错误发生时的默认展示页面。
<error-page> <error-code>404</error-code> <location>/html/error.html</location> </error-page> |