仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 476|回复: 8
打印 上一主题 下一主题

[学习教程] 发布一篇Servlet和Filter的url婚配url-pattern

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.
Servlet和filter是J2EE开辟中经常使用的手艺,利用便利,设置复杂,老小咸宜。
估量年夜多半伴侣都是间接设置用,也没有体贴过详细的细节,明天碰到一个成绩,上彀查了servlet的标准才发明,servlet和filter中的url-pattern仍是有一些文章在内里的,总结了一些工具,放出来供人人参考,以避免碰到成绩又要华侈工夫。
1、servlet容器对url的婚配历程:
当一个哀求发送到servlet容器的时分,容器先会将哀求的url减往以后使用高低文的路径作为servlet的映照url,好比我会见的是http://localhost/test/aaa.html,我的使用高低文是test,容器会将http://localhost/test往失落,剩下的/aaa.html部分拿来做servlet的映照婚配。这个映照婚配历程是有按次的,并且当有一个servlet婚配乐成今后,就不会往剖析剩下的servlet了(filter分歧,后文会提到)。其婚配划定规矩温柔序以下:
1.准确路径婚配。例子:好比servletA的url-pattern为/test,servletB的url-pattern为/*,这个时分,假如我会见的url为http://localhost/test,这个时分容器就会先举行准确路径婚配,发明/test恰好被servletA准确婚配,那末就往挪用servletA,也不会往剖析其他的servlet了。
2.最长路径婚配。例子:servletA的url-pattern为/test/*,而servletB的url-pattern为/test/a/*,此时会见http://localhost/test/a时,容器会选择路径最长的servlet来婚配,也就是这里的servletB。
3.扩大婚配,假如url最初一段包括扩大,容器将会依据扩大选择符合的servlet。例子:servletA的url-pattern:*.action
4.假如后面三条划定规矩都没有找到一个servlet,容器会依据url选择对应的哀求资本。假如使用界说了一个defaultservlet,则容器会将哀求丢给defaultservlet(甚么是defaultservlet?前面会讲)。
依据这个划定规矩表,就可以很分明的晓得servlet的婚配历程,以是界说servlet的时分也要思索url-pattern的写法,以避免堕落。
关于filter,不会像servlet那样只婚配一个servlet,由于filter的汇合是一个链,以是只会有处置的按次分歧,而不会呈现只选择一个filter。Filter的处置按次和filter-mapping在web.xml中界说的按次不异。
2、url-pattern详解
在web.xml文件中,以下语法用于界说映照:
以”/’开首和以”/*”开头的是用来做路径映照的。
之前缀”*.”开首的是用来做扩大映照的。
”是用来界说defaultservlet映照的。
剩下的都是用来界说具体映照的。好比:/aa/bb/cc.action
以是,为何界说”/*.action”如许一个看起来很一般的婚配会错?由于这个婚配即属于路径映照,也属于扩大映照,招致容器没法判别。

主要缺点就是:速度比较慢,没有C和C++快
分手快乐 该用户已被删除
沙发
发表于 2015-1-20 18:46:42 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
透明 该用户已被删除
板凳
发表于 2015-1-29 14:48:08 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-7 02:53:07 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
简单生活 该用户已被删除
5#
发表于 2015-2-19 21:34:41 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
谁可相欹 该用户已被删除
6#
发表于 2015-3-4 22:08:09 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
深爱那片海 该用户已被删除
7#
发表于 2015-3-11 21:14:01 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
莫相离 该用户已被删除
8#
发表于 2015-3-19 13:29:47 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-28 02:52:40 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 18:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表