Servlet中的配置 web.xml

Posted kuillldan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

以上是关于Servlet中的配置 web.xml的主要内容,如果未能解决你的问题,请参考以下文章

Java第三阶段学习(十Servlet基础servlet中的方法servlet的配置ServletContext对象)

web.xml中的servlet配置的url-pattern和URL有啥关系吗?

javaEE中的服务器web.xml配置的时候为啥一定要配置servlet,而不用配置jsp

Tomcat中的Web.xml和servlet.xml的学习

web xml在servlet中的作用

Servlet urlPattern配置