Servlet3.0对应JavaEE6的规范,Tomcat7.x
传统的使用XML做Servlet配置:
<servlet>
<servlet-name>InitParamServlet</servlet-name>
<servlet-class>com._520it._02_initparam.InitParamServlet</servlet-class>
<!-- 初始化参数 -->
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</servlet>
<!-- 向外暴露该Servlet类的一个资源名称,供外界直接访问,该资源名称必须以/开头 -->
<servlet-mapping>
<servlet-name>InitParamServlet</servlet-name>
<url-pattern>/init</url-pattern>
</servlet-mapping>
问题:如果Servlet有N个,就得配置10*N行代码。会造成web.xml文件臃肿,不利于维护,开发效率低。
从Tomcat7开始,可以使用注解(WebServlet)来取代XML配置。
使用注意:在web.xml文件的根元素中,存在属性meta-complete,用来表示是否忽略扫描Web组件注解:
meta-complete="true" : 忽略
meta-complete="false" : 不忽略
缺省meta-complete属性情况下等价于meta-complete="false"。
Servlet代码:
问题:XML和注解各自的优缺点是什么?怎么选择?
XML:优点:XML配置很清晰,很直观,因为和Java代码相分离,维护性较高。
缺点:XML配置导致配置文件臃肿,开发效率较低。
注解:优点:开发效率高,配置文件不臃肿,也方便快速定位。
缺点:和Java代码耦合在一起,维护性较低。
如何选择:
一般的,在企业中,现在注解使用的非常之多。在开发过程中,XML文件用于做通用配置,个别配置使用注解来。
在学习阶段:先学习XML配置,再进一步学习注解配置。