当前位置: 首页 > news >正文

做电子手抄报的网站seo收费

做电子手抄报的网站,seo收费,古典风格网站模板html,photoshop快捷键命令大全文章目录 1、自定义MyWebServlet 注解2、创建HttpServlet文件3、加载项目中的所有以.java结尾的文件4、收集项目中带有MyWebServlet 的类对象 1、自定义MyWebServlet 注解 我们知道,tomcat是依据WebServlet注解去收集所有servlet类的。 import java.lang.annotati…

文章目录

  • 1、自定义@MyWebServlet 注解
  • 2、创建HttpServlet文件
  • 3、加载项目中的所有以.java结尾的文件
  • 4、收集项目中带有@MyWebServlet 的类对象

在这里插入图片描述

1、自定义@MyWebServlet 注解

我们知道,tomcat是依据@WebServlet注解去收集所有servlet类的。

import java.lang.annotation.*;//该注解可以应用于类、接口(包括注解类型)、枚举
@Target(ElementType.TYPE)//ElementType.TYPE
//该注解标记的元素可以被Javadoc 或类似的工具文档化
@Documented
//该注解的生命周期,由JVM 加载,包含在类文件中,在运行时可以被获取到
@Retention(RetentionPolicy.RUNTIME)//RUNTIME/*** @description:* @author: YHZ* @date: 2023/8/15 14:36**/
public @interface MyWebServlet {String urlMapping()default "";
}

2、创建HttpServlet文件

用过Servlet写过项目的朋友都知道,声明一个Servlet不仅要有@WebServlet注解,还要继承HttpServlet这个类。

public abstract class HttpServlet {//实现doGet方法public abstract void doGet(HttpRequest request, HttpResponse response);//实现doPOST方法public abstract void doPost(HttpRequest request, HttpResponse response);//实现service方法进行判断public void service(HttpRequest request, HttpResponse response){if ("GET".equals(request.getMethod())){doGet(request,response);}else if("POST".equals(request.getMethod())){doPost(request,response);}}
}

3、加载项目中的所有以.java结尾的文件

public class FileChooseConfig {//存的是该项目文件夹中所有.java结尾文件的全限定名public static List<String> arr= new ArrayList<>();public static void getFilePath(File file) {File[] fs = file.listFiles();for (File f : fs) {if (f.isDirectory()){getFilePath(f);}if (f.isFile()) {String filepath = f.toString();filepath = filepath.split("main")[1];filepath = filepath.substring(6,filepath.length());if( filepath.endsWith(".java")) {//把是.java文件的全类名放到arr中arr.add(filepath.replace("\\", ".").replace(".java", ""));}}}}
}

4、收集项目中带有@MyWebServlet 的类对象

public class FileChooseConfig {//key为urlMapping路径,value为通过全类名反射得到的servlet类对象public static Map<String,Class> webServletMap = new ConcurrentHashMap<>();//查找所有controller,并创建对象装入Map里(“url”:Object)public static void chooseWebServlet() {for(String file: arr){try {Class<?> aClass = Class.forName(file);//如果有WebServlet注解if(aClass.isAnnotationPresent(MyWebServlet.class)) {MyWebServlet webServlet = getUrlMapping(aClass);//如果之前已经有了一样的  不同controller的requestmapping的值,说明有冲突。if (webServletMap.containsKey(webServlet.urlMapping())) {throw new RuntimeException("类多注解值:" + webServlet.urlMapping());} else {//如果之前没有添加过相同urlMapping的servlet,则向servletMap中添加key:urlMapping;value:servlet类对象webServletMap.put(webServlet.urlMapping(),  aClass);}}}catch (ClassNotFoundException e) {e.printStackTrace();}}}public static MyWebServlet getUrlMapping(Class cl){Annotation annotation = cl.getAnnotation(MyWebServlet.class);if(annotation instanceof  MyWebServlet){return  (MyWebServlet) annotation;}return null;}}
http://www.dt0577.cn/news/28095.html

相关文章:

  • wordpress分类目录插件长沙seo咨询
  • 那样的网站外贸网站平台有哪些
  • wordpress网站的根目录在哪里推广恶意点击软件怎样使用
  • 公司网站备案好处网站优化的方法有哪些
  • 网站服务器如何做热备价百度网站收录入口
  • java网站开发 视频网络公司网页设计
  • 深圳最好的网站建设公司网络营销的招聘信息
  • 韩版做哪个网站好如何做推广宣传
  • 电子商务网站建设ppt模板下载百度引擎搜索引擎
  • 免费网站建设总部龙网网络推广软件
  • 建设银行网站预约取款百度平台推广
  • 标识标牌专业百度seo排名优化
  • 做网站的app有什么作用百度的推广方式有哪些
  • 临沂在线做网站品牌营销与推广
  • 公司网站的作用网站建设企业建站
  • 辽宁专业模板网站建设公司电子商务网站建设方案
  • 网站如何做中英文双语言广告做到百度第一页
  • web网站设计基本2021年网络十大关键词
  • 宜布网网站谁做的google关键词搜索技巧
  • 云南网站建设费用百度官网app下载
  • 可以直接进入网站的正能量没封的网站怎么制作免费的
  • 建设网站 费用吗如何制作百度网页
  • 四川网站建设公司 会员登录网址搜索引擎
  • 网站建设培训学校北京网络舆情监控
  • 电子商务网站建设pdfweb网站模板
  • 西宁高端网站制作公司aso排名优化知识
  • 营销型网站建设公司推荐项目推广方式有哪些
  • 做网站新手流程百度推广一个月多少钱
  • 江苏网站开发建设营销顾问公司
  • 临沂新增疫情最新情况优化网站内容