旧版本的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-name servlet的名字
servlet-class servlet所在位置
url-pattern servlet的路径映射,需要以/开头

新版本的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 "";
}
常用属性 作用
name servlet的名字
value servlet的路径映射,需要以/开头,可以配置多个
urlPatterns servlet的路径映射,需要以/开头,可以配置多个
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"})

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐