web.xml文件配置与注解配置以及二者的优缺点

本文详细介绍了Servlet的web.xml文件配置和注解配置方法,包括精准匹配、后缀匹配和特殊通配符的使用。同时,对比分析了XML配置和注解配置的优缺点,如XML的集中式元数据、扩展性与注解的简洁性和编译期验证。总结指出,XML配置灵活性高,而注解配置效率更高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Servlet的web.xml文件配置

二、注解配置

 三、Web.xml文件配置和注解配置的优缺点

(一)、xml配置的优点

(二)、xml配置的缺点

(三)、注解配置的优点

(四)、注解配置的缺点

(五)、总结


一、Servlet的web.xml文件配置

首先放入一段Servlet类的测试代码

package com.ly;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
//扩展HttpServlet抽象类
public class HelloServlet extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException {
        String ly = "Hello,this is Servlet web.xml! 你好,这是Servlet web.xml文件配置!";
        System.out.println(ly);//检测点
        //解决response乱码问题
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print(ly);
    }
}

Servlet的web.xml文件配置:创建Servlet类后,需要找到webapp目录下WEB-INF下的web.xml文件进行配置,对应位置如下图:

 在前面我们讲到了关于Servlet声明和Servlet映射,故这里主要涉及Servlet映射配置,即URL模式(不知道Servlet声明部分的朋友请前往这里查看:servlet的认识、思考和简单尝试_寒冰·忆的博客-优快云博客

web.xml文件配置的<url-pattern>元素的配置方式如下(使用通配符):

   1.精准匹配通配符:

  • /具体名称
  • /具体名称/*

注:上述两种方式的名称必须是具体的才能触发访问

样例1(注意看第21行):

 然后便可以通过http://localhost:8080/javaee-demo-day1/myServlet进行访问,效果如下图:

样例2(注意看第21行):

 然后便可以通过http://localhost:8080/javaee-demo-day1/myServlet/*进行访问,效果如下图:

    2.后缀匹配通配符:*.xx

注:*号部分自由填写,只要XX部分符合即可
样例(注意看第21行):

  然后便可以通过http://localhost:8080/javaee-demo-day1/hello.haha 或者http://localhost:8080/javaee-demo-day1/aaaa.haha进行访问,效果如下图:

 

    3.特别的通配符:

  • /
  • /*

注:/可匹配所有请求,包含了服务器内所有资源,除了.jsp

       /*可匹配所有请求,包含了服务器内所有资源,无限制

样例1(注意看第21行):

 我这里有一个.jsp文件,故此可以访问http://localhost:8080/javaee-demo-day1/,效果如下图:

 样例2(注意看第21行):

  然后便可以通过http://localhost:8080/javaee-demo-day1/*进行访问,效果如下图:

二、注解配置

同样使用上面的Servlet类的测试代码

注解配置的方式如下(直接在代码中添加):

@WebServlet("/Servlet")

注:只有Servlet可更改,即更改要访问的地址

样例(注意看第13行):

  然后便可以通过http://localhost:8080/javaee-demo-day1/Servlet进行访问,效果如下图:

 注:在同一个Servlet程序中配置web.xml文件和注解,二者不会冲突,比如上面我使用了注解配置,但我的xml配置依旧可存在:

并且可以访问,如下图:

 三、Web.xml文件配置和注解配置的优缺点

(一)、xml配置的优点

  • xml是集中式的元数据,不需要和代码绑定的:

    在开发中,xml配置文件和代码类是区分开的。不需要绑定到代码中。

  • 使用xml配置可以让软件更具有扩展性:

    例如,我们在spring中,我们不想使用接口而是想用接口的实现类,这个时候只需要修改xml配置中bean的class值就可以了。

  • 对象之间的关系一目了然

  • 开发者(程序员)能够为软件量身定做使用的标记,使得xml更通俗易懂

  • 基于xml配置的时候,只需要修改xml即可,不需要对现有的程序进行修改

  • 容易与其他系统进行数据交互,数据共享更为方便

(二)、xml配置的缺点

  • 应用程序中如果使用了xml配置,需要解析xml的工具或者是是第三方类库的支持
  • 解析xml的时候必然会占用资源,势必会影响到应用程序的性能:

    以java为例,无论是将xml一次性装置到内存中,还是一行一行读取解析,都会占用资源。

  • xml配置文件过多,会导致维护变得困难

  • 在程序编译期间无法对其配置项的正确性进行验证,只能在运行期发现

  • 开发的时候,既要维护代码又要维护配置文件,使得开发的效率降低

  • 开发工具对xml配置的验证支持的不是很好:

    目前有不少开发工具对于xml配置的正确性不能够得到很好的判断。

(三)、注解配置的优点

  • 注解和代码是写在一起的,降低了维护两个地方的成本
  • 注解如果有问题,在编译期间,就可以验证正确性,如果出错更容易找到
  • 使用注解开发能够提高开发效率,不用多个地方维护。

(四)、注解配置的缺点

  • 修改比较麻烦。如果需要对注解进行修改的话,就需要对整个项目重新编译
  • 在程序中如果注解太多的话,会影响代码质量,代码会不够简洁
  • 处理业务类之间的复杂关系,不然xml那样容易修改,也不及xml那样明了
  • 注解功能没有xml配置齐全

(五)、总结

  • xml配置书写较灵活、修改时不需要更改代码,更方便,且容易扩展,但维护困难,开发效率低一些
  • 注解配置书写简单,容易检测出问题,开发效率高一些,但修改麻烦,影响了代码的简洁性,且功能没有xml配置齐全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值