Servlet的xml配置和注解@WebServlet配置

本文探讨了Servlet的配置方式,从传统的在web.xml文件中的配置,过渡到使用注解@WebServlet的方式。通过注解,可以直接在类上声明Servlet的URL映射,简化了配置过程。同时提到了配置其他属性的方法,需要注意路径前需加“/”以避免服务器错误。

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

旧版本的Servlet在web.xml文件中配置,内容如下:

<servlet>
        <servlet-name>UserServlet</servlet-name>
        <servlet-class>net.tjk.web.UserServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>UserServlet</servlet-name>
        <url-pattern>/UserServlet</url-pattern>
    </servlet-mapping>
属性作用
servlet-nameservlet的名字
servlet-classservlet所在位置
url-patternservlet的路径映射,需要以/开头

新版本的Servlet中可以使用注解 @WebServlet进行配置
注解源码:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WebServlet {
    String name() default "";
    String[] value() default {};
    String[] urlPatterns() default {};
    int loadOnStartup() default -1;
    WebInitParam[] initParams() default {};
    boolean asyncSupported() default false;
    String smallIcon() default "";
    String largeIcon() default "";
    String description() default "";
    String displayName() default "";
}
常用属性作用
nameservlet的名字
valueservlet的路径映射,需要以/开头,可以配置多个
urlPatternsservlet的路径映射,需要以/开头,可以配置多个
loadOnStartup标记是否在启动时就加载servlet,负数(默认)为第一次请求该servlet时加载,0或者正数为启动应用就加载
initParams配置初始参数
asyncSupported是否支持异步操作模式,默认false

使用方法:

@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = response.getWriter();
        printWriter.write("<div><p>你好Get</p><br><p>再见Get</p></div>");
    }
}

@WebServlet("/UserServlet")和上面xml配置是一样的。
配置其他属性:

@WebServlet(name = "userServlet",urlPatterns = {"/user","/userServlet","/test"})

两种属性用逗号隔开,路径前必须加“/”,否则服务器报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值