文章目录
前言
在Servlet中有两种方式,分别为web.xml配置和注解。我也开始了配置的学习。此文如果有不足之处,希望大家指正。
一、web.xml配置Servlet
1.web.xml的作用
用来初始化配置信息。它是我们开发Web程序的一项很重要的配置项,里面包含了各种各样的配置信息,比如欢迎页面,过滤器,监听器,启动加载级别等等。在服务器启动时,第一步便会加载项目的web.xml文件,然后通过其中的各种配置来启动项目,如果配置项都正确,则项目启动成功。
注:当工程不需要上述配置时,就不需要web.xml来配置Application。
2.常用标签简介
2.1.Schema文件
每个xml文件都有定义它书写规则的Schema文件,web.xml的模式文件是由Sun 公司定义的,每个web.xml文件的根元素为<web-app>
中,必须标明这个web.xml使用的是哪个模式文件。如:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee" <!--命名空间,类似包名,因为xml的标签可自定义,需要命名空间来区分-->
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <!--xml遵循的标签规范-->
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
<a href="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\" "="">http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
<!--用来定义xmlschema的地址,也就是xml书写时需要遵循的语法,两部分组成,前面部分就是命名空间的名字,后面是xsd(xmlschema)的地址-->
</web-app>
2.2.description标签
description标签是用于描述该web项目的功能,特性等。
<description>测试Spring MVC的项目</description>
2.3.display-name标签标签
该web项目的应用名称。
<display-name>SpringMVC-Test</display-name>
2.4.欢迎页面标签
访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
2.5.servlet标签
<servlet>
<!-- servlet的内部名称,自定义即可 -->
<servlet-name>ServletDemo02</servlet-name>
<!-- servlet的类全名:包名+类名 -->
<servlet-class>com.lx.ServletDemo02</servlet-class>
</servlet>
<!-- servlet的映射配置 -->
<servlet-mapping>
<!-- servlet的内部名称,要和上面的内部名称保持一致 -->
<servlet-name>ServletDemo02</servlet-name>
<!-- servlet的映射路径(访问servlet的名称) -->
<url-pattern>/servletdemo02</url-pattern>
</servlet-mapping>
二、注解
@WebServlet("/LifeServlet")
//注解
public class LifeServlet extends HttpServlet{}
从浏览器发送请求时,会直接寻找@WebServlet后对应的url地址,调用并执行相应的servlet
三、注解和xml配置的比较
xml配置
1.优点:
- xml作为可扩展标记语言最大的优势在于开发者能够为软件量身定制适用的标记,使代码更加通俗易懂。
- 利用xml配置能使软件更具扩展性。例如Spring将class间的依赖配置在xml中,最大限度地提升应用的可扩展性。
- 具有成熟的验证机制确保程序正确性。利用Schema或DTD可以对xml的正确性进行验证,避免了非法的配置导致应用程序出错。
- 修改配置而无需变动现有程序。
2.缺点:
- 需要解析工具或类库的支持。
- 解析xml势必会影响应用程序性能,占用系统资源。
- 配置文件过多导致管理变得困难。
- 编译期无法对其配置项的正确性进行验证,或要查错只能在运行期。
- 开发人员不得不同时维护代码和配置文件,开发效率变得低下。
注解
1.优点:
- 保存在 class 文件中,降低维护成本。
- 无需工具支持,无需解析。
- 编译期即可验证正确性,查错变得容易。
- 提升开发效率。
2.缺点:
- 若要对配置项进行修改,不得不修改 Java 文件,重新编译打包应用。
- 配置项编码在 Java 文件中,可扩展性差。