通过基础的学习,今天来介绍一下注解配置和配置描述符,即web.xml文件。认识并区分出他们的不同点,找出他们各自的优缺点。因为之前学了servlet,所以,我们这次注解配置与xml配置着重环绕着servlet的配置来介绍
注解配置
是一种分散式的元数据,与源代码绑定。注解是以‘@注解名’在代码中存在的。
作用
1.生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等;
2.跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量;
3.在编译时进行格式检查。如@Override放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出。
@WebServlet(urlPatterns = { "/发布到服务器的名字" })
@WebServlet 注解配置 Servlet
优点:@WebServlet 直接在 Servlet 类中使用,代码量少,配置简单。每个类只关注自身业务逻辑,与其他 Servlet 类互不干扰,适合多人同时开发。
缺点:Servlet 较多时,每个 Servlet 的配置分布在各自的类中,不便于查找和修改。
这里拓展一下有关webservlet注解配置的属性
属性名 | 类型 | 标签 | 描述 | 是否必需 |
---|---|---|---|---|
name | String | <servlet-name> | 指定 Servlet 的 name 属性。 如果没有显式指定,则取值为该 Servlet 的完全限定名,即包名+类名。 | 否 |
value | String[ ] | <url-pattern> | 该属性等价于 urlPatterns 属性,两者不能同时指定。 如果同时指定,通常是忽略 value 的取值。 | 是 |
urlPatterns | String[ ] | <url-pattern> | 指定一组 Servlet 的 URL 匹配模式。 | 是 |
loadOnStartup | int | <load-on-startup> | 指定 Servlet 的加载顺序。 | 否 |
initParams | WebInitParam[ ] | <init-param> | 指定一组 Servlet 初始化参数。 | 否 |
asyncSupported | boolean | <async-supported> | 声明 Servlet 是否支持异步操作模式。 | 否 |
description | String | <description> | 指定该 Servlet 的描述信息。 | 否 |
displayName | String | <display-name> | 指定该 Servlet 的显示名。 | 否 |
web.xml配置
是一种集中式的元数据,与源代码无绑定
servlet配置
这是我们常用的一个配置,主要使用的标签是<servlet></servlet>
为Servlet 命名和<servlet-mapping></servlet-mapping>
为 Servlet 定制 URL。
<servlet>
<servlet-name>servlet的名字</servlet-name>
<servlet-class>servlet的路径</servlet-class>
<init-param>
<param-name>初始化参数名字</param-name>
<param-value>初始化参数值</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>servlet的名字</servlet-name>
<url-pattern>/发布到服务器的名字</url-pattern>
</servlet-mapping>
在 <servlet> 标签中, <servlet-name> 中设置的是为 Servlet 注册的名字,要保证该名字在 web.xml 文件中是唯一的,一般直接使用类名即可,<servlet-class> 中设置的是需要配置的 Servlet 的全类名。
在 <servlet-mapping> 中, <servlet-name> 中的名字,需要和 <servlet> 中的名字一致,<url-pattern> 为这个 Servlet 映射一个对外访问路径。
servlet 和 url-pattern 之间的关系是 一对多的关系。
web.xml 配置文件配置 Servlet
优点:集中管理 Servlet 的配置,便于查找和修改。
缺点:代码较繁琐,可读性不强,不易于理解。
总结
不管是webservlet的配置还是其他的,web.xml和注解配置都是有很大的区别,这里总结一下
注解优点:
简化配置
使用起来直观且容易,提升开发的效率
类型安全,容易检测出问题
缺点:
修改起来比xml麻烦
如果不项目不了解,可能给开发和维护带来麻烦
Xml优点:
把类与类之间松解偶;修改方便;容易扩展
容易和其他系统进行数据交互
对象之间的关系一目了然
缺点:
配置冗长,需要额外维护;影响开发效率
类型不安全,校验不出来,出错不好排查
注解简单概括:写起来比较简单、方便,看起来也简洁,但是修改麻烦
Xml配置概括:写起来比较灵活、修改方便,但是写和维护麻烦
注解配置和web.xml的配置我们需要学习的还有很多,这次大概介绍了一下前期学习可能会遇到的一些,并加以理解,一步一步学习,自然会越来越好.