栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java注解开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java注解开发

用xml配置文件方式是Servlet2.5版本规范的,经过逐步演变注解来时流行,因为更方便了,Servlet3.0以后也支持注解开发了。

自动注解实现步骤:
  1. 创建JavaWeb工程,并移除web.xml
  2. 编写Servlet,继承HttpServlet
  3. 重写get、post方法
  4. 在类上使用@WebServlet注解配置

演示:

@WebServlet("/webServletDemo")
public class WebServletDemo extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("注解版Servlet运行");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
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 "";
}
手动注解实现步骤:
  1. 定义类继承HttpServlet
  2. 重写get、post
  3. 定义类实现ServletContainerInitializer接口
  4. 在src创建meta-INF的包
  5. 在meta-INF包下创建一个services的包
  6. 在services包下创建ServletContainerInitializer文件
  7. 文件内容为容器实现类的全类名
  8. 在容器实现类的onStartup方法中完成注册Servlet
  9. 启动测试

演示:
定义类继承HttpServlet

public class WebServletDemo02 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("手动注解开发");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

定义类实现ServletContainerInitializer接口,在容器实现类的onStartup方法中完成注册Servlet

public class Register implements ServletContainerInitializer {

    @Override
    public void onStartup(Set> set, ServletContext servletContext) throws ServletException {
        // 创建对象
        WebServletDemo02 ws2 = new WebServletDemo02();

        // 在servletContext对象中添加Servlet,并得到Servlet动态配置对象  第一个参数是名称,第一个是对象
        ServletRegistration.Dynamic registration = servletContext.addServlet("webServletDemo02", ws2);

        // 配置Servlet   相当于xml里的mapping 映射访问路径的
        registration.addMapping("/webServletDemo02");

        // 还可以添加加载时机
        registration.setLoadOnStartup(1);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397312.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号