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

网站建设好学么贵阳公司网站建设

网站建设好学么,贵阳公司网站建设,如何自己制作公众号,网站建设论坛报告文章目录 URL 匹配规则几个容易混淆的规则精确匹配路径匹配扩展名匹配缺省匹配注意事项 1:匹配规则不能混用注意事项 2:"\/\*" 和 "/" 含义并不相同 URL 匹配规则 几个容易混淆的规则 servlet 容器中的匹配规则既不是简单的通配&am…

文章目录

  • URL 匹配规则
    • 几个容易混淆的规则
    • 精确匹配
    • 路径匹配
    • 扩展名匹配
    • 缺省匹配
    • 注意事项 1:匹配规则不能混用
    • 注意事项 2:"\/\*" 和 "/" 含义并不相同

URL 匹配规则

几个容易混淆的规则

  • servlet 容器中的匹配规则既不是简单的通配,也不是正则表达式,而是特定的规则。所以不要用通配符或者正则表达式的匹配规则来看待 servlet 的 “url-pattern” 。

  • Servlet 2.5 开始,一个 servlet 可以使用多个 url-pattern 规则,“<servlet-mapping>” 标签声明了与该 servlet 相应的匹配规则,每个 “<url-pattern>” 标签代表 1 个匹配规则;

  • 当 servlet 容器接收到浏览器发起的一个 url 请求后,容器会用 url 减去当前应用的上下文路径,以剩余的字符串作为 servlet 映射,假如 url 是 http://localhost:8080/appDemo/index.html,其应用上下文是 appDemo,容器会将 http://localhost:8080/appDemo 去掉,用剩下的 “/index.html” 部分拿来做 servlet 的映射匹配

  • url-pattern 映射匹配过程是"有优先顺序"的,而且当有一个 servlet 匹配成功以后,就不会去理会剩下的 servlet 了。

精确匹配

精确匹配是优先级最高,最不会产生歧义的匹配。

<servlet-mapping><servlet-name>...</servlet-name><url-pattern>/user/users.html</url-pattern><url-pattern>/index.html</url-pattern><url-pattern>/user/addUser.action</url-pattern>
</servlet-mapping>

当在浏览器中输入如下几种 url 时,都会被匹配到该 servlet

http://localhost:8080/appDemo/user/users.html
http://localhost:8080/appDemo/index.html
http://localhost:8080/appDemo/user/addUser.action

注意
http://localhost:8080/appDemo/user/addUser/(最后有斜杠符)是非法的 url!

它不会被当作 http://localhost:8081/appDemo/user/addUser(最后没有斜杠府)识别。

另外上述 url 后面可以跟任意的查询条件,都会被匹配,如

http://localhost:8080/appDemo/user/addUser?username=Tom&age=23 会被匹配。

路径匹配

路径匹配的优先级仅次于精确匹配。

以 “/” 字符开头,并以 “/*” 结尾的字符串都表示是路径匹配。

<servlet-mapping><servlet-name>...</servlet-name><url-pattern>/user/*</url-pattern>
</servlet-mapping>

上述规则表示 URL 以 “/user” 开始,后面的路径可以任意。比如下面的 url 都会被匹配。

http://localhost:8080/appDemo/user/users.html
http://localhost:8080/appDemo/user/addUser.action
http://localhost:8080/appDemo/user/updateUser.do

扩展名匹配

也叫 后缀匹配

以 “*.” 开头的字符串被用于扩展名匹配

<servlet-mapping><servlet-name>...</servlet-name><url-pattern>*.jsp</url-pattern><url-pattern>*.action</url-pattern>
</servlet-mapping>

则任何扩展名为 jsp 或 action 的 url 请求都会匹配,比如下面的 url 都会被匹配

http://localhost:8080/appDemo/user/users.jsp
http://localhost:8080/appDemo/toHome.action

缺省匹配

缺省匹配也是「兜底」的匹配,一个 url 不符合精确匹配、路径匹配、扩展品匹配的任何一种情况,那么它所触发的 Servlet 就是由缺省匹配决定。

<servlet-mapping><servlet-name>...</servlet-name><url-pattern>/</url-pattern>
</servlet-mapping>

注意事项 1:匹配规则不能混用

匹配规则不是正则表达式规则,不要想当然的使用通配符:精确匹配、路径匹配、后缀匹配 三者 不能混用

  • 要么以 / 开头,并以 /* 结尾,表示路径匹配。

  • 要么以 *. 开头,表示后缀匹配。

  • 要么就是精确匹配。

例如:

  • <url-pattern>/user/*.action</url-pattern> 是非法的

另外:

  • <url-pattern>/aa/*/bb</url-pattern> 是合法的。是精确匹配,合法,

注意事项 2:“/*” 和 “/” 含义并不相同

“/*” 属于路径匹配,“/” 属于 default 匹配。“.jsp” 的访问(JSP Servlet)的优先级刚好『卡』在它们俩的中间!

“/*” 会拦截你对 .jsp 页面的访问,“/” 则不会。很多 404 错误均由此引起。

注意
除非是真的需要,否则不要使用 “/*” !

从效果上看,“/*” 和 “/” 均会拦截对静态资源的访问请求,需要特别注意。

http://www.yayakq.cn/news/73853/

相关文章:

  • 建设摩托车官网官方网站网站如何做h5动态页面
  • 手机网站404页面模板wordpress加载本地媒体
  • 风景网站模版辽宁省城乡建设厅网站
  • 网站建设详细工作汇报seo站长工具下载
  • 网站制作设计专业公司室内效果图代做网站
  • 昆明做网站报价制作网站公
  • 南京做网站工作室wordpress 贴吧主题
  • php网站建设论文ppt模板网站源码
  • 网站开发校园经历范文合肥网络推广服务公司
  • 惠州做网站广告app推广策略
  • 商城站人工售票时间表长春火车站是北站吗
  • 东莞企业自助建站系统wordpress twenty twelve
  • 爱站关键词挖掘查询工具购物中心网站模板
  • 做受视频网站百度关键词搜索怎么收费
  • 网站建设h5 招聘上海培训网站建设
  • 手机网站优化技巧阿里云网站建设里云官网模版
  • 网站搬迁做网站有什么用
  • 网站权限怎么设置方法河北邯郸是几线城市
  • php整站开发 企业网站教程建设网站英文
  • 永州企业网站建设深圳网站建设 设计科技
  • 行业网站设计开发费用网站标题有什么作用
  • 北京招聘网站开发哪个公司的室内设计公司
  • 网站做百度排名百度指数明星搜索排名
  • 工业和信息化网站备案系统淮南网站推广
  • 怎么做门户网站设计厦门网站建设公司名单
  • 做公司的网站大概多少钱wordpress迁移无法登录
  • wordpress全站注明坪山公司网站建设
  • 企业做网站收费网站建设设计公司类网站织梦模板 带手机端
  • 网站快速刷排名工具wordpress两种语言主题
  • 建设银行网站注册用户名校园网组网方案设计