serlvet配置xml和@WebServlet

编程

简单介绍

XML元素不仅是大小写敏感的,而且它们还对出现在其他元素中的次序敏感。例如,XML头必须是文件中的第一项,DOCTYPE声明必须是第二项,而web-app元素必须是第三项。在web-app元素内,元素的次序也很重要。服务器不一定强制要求这种次序,但它们允许(实际上有些服务器就是这样做的)完全拒绝执行含有次序不正确的元素的Web应用。这表示使用非标准元素次序的web.xml文件是不可移植的。 

前提:要引入好包

xml配置中各节点的含义:

<!-- servlet的配置 -->

<servlet>

<!-- servlet的内部名称,自定义。尽量有意义 -->

<servlet-name>Book</servlet-name>

<!-- servlet的类全名: 包名+简单类名 -->

<servlet-class>web.Bookservlet</servlet-class>

</servlet>

<!-- servlet的映射配置 -->

<servlet-mapping>

<!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->

<servlet-name>Book</servlet-name>

<!--访问路径 http://localhost:8080/Bookservlet-->

<!--这里和@Webservlet路径一个道理 -->

<url-pattern>/Bookservlet</url-pattern>

</servlet-mapping>

在配置Servlet时,有两个地方需要配置,一个是<servlet>,另一个是<servlet-Mapping>,这两个一个是配置Servlet,一个是配置其映射信息,其中<servlet>中的<servlet-name>可以随意指定,但要有一定的意义,一般取为类的名称,例如我的类名为Book,这里取名为ServletDemo,下面的<servlet-class>是类的全路径,package+calssname,一定要是全路径!

<servlet-Mapping>是映射信息,它也有一个<servlet-name>,里面的名字是对应的Servlet名,也就是我们上面配置的Servlet名字,这里是Book,下面的是映射路径,也就是访问Servlet的名称,这里也是以方便和有意义为前提的,是我们在访问Servlet在浏览器地址栏后面输入的那个信息,例如我的映射路径命名为/Bookservlet,在地址栏中输入http://localhost:8080/Bookservlet

注意:这里的映射路径一定不是丢掉/,否则就会出错了,一定要写成/servlet,不能是servlet

 

@Webservlet

在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。

下面是@WebServlet的属性列表。

属性名

类型

描述

name

String

指定Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。

value

String[]

该属性等价于 urlPatterns 属性。两个属性不能同时使用。

urlPatterns

String[]

指定一组 Servlet 的 URL 匹配模式。等价于<url-pattern>标签。

loadOnStartup

int

指定 Servlet 的加载顺序,等价于 <load-on-startup>标签。

initParams

WebInitParam[]

指定一组 Servlet 初始化参数,等价于<init-param>标签。

asyncSupported

boolean

声明 Servlet 是否支持异步操作模式,等价于<async-supported> 标签。

description

String

该 Servlet 的描述信息,等价于 <description>标签。

displayName

String

该 Servlet 的显示名,通常配合工具使用,等价于 <display-name>标签。

从上表可见,web.xml可以配置的servlet属性,在@WebServlet中都可以配置。

 

参考:

https://www.cnblogs.com/sunylat/p/10959541.html

 

以上是 serlvet配置xml和@WebServlet 的全部内容, 来源链接: utcz.com/z/511615.html

回到顶部