java – tomcat如何识别用注释指定的servlet?
发布时间:2020-12-15 05:03:30 所属栏目:Java 来源:网络整理
导读:在servlet 3.0之前,需要通过提供url模式和servlet类在web.xml中配置servlet.每当发送对servlet的请求时,tomcat都会在web.xml中搜索servlet类,并根据请求的类型调用doget或dopost. 在servlet 3.0中,我们可以使用@WebServlet之类的注释在servlet类本身中配置se
在servlet 3.0之前,需要通过提供url模式和servlet类在web.xml中配置servlet.每当发送对servlet的请求时,tomcat都会在web.xml中搜索servlet类,并根据请求的类型调用doget或dopost.
在servlet 3.0中,我们可以使用@WebServlet之类的注释在servlet类本身中配置servlet. 我的问题是在这种情况下tomcat如何识别servlet类,因为在web.xml中没有为servlet指定映射. 提前致谢. 解决方法
Tomcat扫描Web应用程序以查找类文件(在WEB-INF / classes和JAR中).然后将类文件传递给Apache Commons Byte Code Engineering Library(BCEL)的经过大量编辑的包重命名的本地副本. Tomcat的BCEL版本经过优化,只处理Tomcat感兴趣的字节代码部分(注释,超级类,如果有的话,实现了接口),并尽可能快地跳过其余??部分. BCEL直接从磁盘读取类文件.
Tomcat对BCEL的结果进行了一些仔细的缓存,因此即使对于最复杂的类层次结构,每个类只处理一次,如果注释(包括从超类继承的注释),则不需要后处理来获取完整列表任何课程. 注释扫描还检查与SCI的@HandlesTypes注释的匹配. 扫描每个类的注释是很昂贵的,但是你这样做(这也是我不喜欢这个特殊功能的原因之一).在实现它现在使用的高效实现之前,Tomcat的实现经历了几次迭代. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 详谈Spring框架之事务管理
- java – 如何基于InputStream创建iText BaseFont
- Spring Boot利用@Async异步调用:ThreadPoolTaskScheduler线
- java – 通过CLI执行testng.xml时出错:无法找到或加载主类
- 理解Spring中的依赖注入和控制反转
- 基本的Java Swing,如何退出和处理你的应用程序/ JFrame
- 使用Java 8 Optional for String of List作为输出
- java – 为什么调用将父类作为参数的方法调用,而不是将子类
- 使用Jasypt来加密解密的Java示例代码
- 将国家代码alpha-2(IN)转换为alpha 3(IND)的Java代码