urlpattern(Java EE中web.xml常见url pattern=“/**“,两个星号什么意思)
本文目录
- Java EE中web.xml常见url pattern=“/**“,两个星号什么意思
- SpringMVC中url-pattern /和/*的区别
- 怎样在
中设置不包含的页面 - Servlet:关于
- springmvc中url-url-pattern /和/*的区别
- 在web.xml的配置文件中url-pattern具体表示什么意思
- url pattern 什么意思
- filter过滤器url-pattern如何设定
Java EE中web.xml常见url pattern=“/**“,两个星号什么意思
Ant path 匹配原则
在Spring MVC中经常要用到拦截器,在配置需要要拦截的路径时经常用到《mvc:mapping/》子标签,其有一个path属性,它就是用来指定需要拦截的路径的。例如:
《mvc:interceptor》《mvc:mapping path="/**" /》《bean class="com.i360r.platform.webapp.runtime.view.interceptor.GenericInterceptor" /》《/mvc:interceptor》
《/mvc:interceptor》
根据以上配置,此拦截器会拦截所有的请求。
Spring MVC中的路径匹配要比标准的web.xml要灵活的多。默认的策略实现了 org.springframework.util.AntPathMatcher,就像名字提示的那样,路径模式是使用了Apache Ant的样式路径,Apache Ant样式的路径有三种通配符匹配方法(在下面的表格中列出)这些可以组合出很多种灵活的路径模式Table Ant Wildcard Characters
Wildcard Description
? 匹配任何单字符
* 匹配0或者任意数量的字符
** 匹配0或者更多的目录
Table Example Ant-Style Path Patterns
Path Description
/app/*.x 匹配(Matches)所有在app路径下的.x文件
/app/p?ttern 匹配(Matches) /app/pattern 和 /app/pXttern,但是不包括/app/pttern
/**/example 匹配(Matches) /app/example, /app/foo/example, 和 /example
/app/**/dir/file. 匹配(Matches) /app/dir/file.jsp, /app/foo/dir/file.html,/app/foo/bar/dir/file.pdf, 和 /app/dir/file.java
/**/*.jsp 匹配(Matches)任何的.jsp 文件
HandlerMapping
一 个WEB应用程序基本上都要依赖于URL与请求处理器之间的映射,Spring MVC也是一样,但Spring MVC就像Spring所作的一切一样(译者:灵活,可以配置各种东西,但是也造成了很多复杂性),肯定不会只有一种方法来映射URL和 Controller之间的关系,并且在实际上,允许你自己创建映射规则和实现,而不仅仅依赖URL映射。Spring提供了URL的映射处理, 并且处理路径模式的顺序和方法并没有限定到任何的接口上。Spring MVC的默认实现org.springframework.web.servlet.handler. AbstractUrlHandlerMapping, 会以最长符合路径模式来匹配一个路径。例如:给定一个请求是 /app/dir/file.jsp 并且现在存在两个路径匹配模式/**/*.jsp 和/app/dir/*.jsp, 那么,URL会匹配那个模式呢?最后的那个模式/app/dir/*.jsp,会因为最长(has more characters)的原则被匹配,它比/**/*.jsp拥有更多的字符.注意的是,这个原则并没有在任何高级别的接口中指定,但却是一种实现细节。!!下面看一下默认的两个HandlerMappingBeanNameUrlHandlerMapping默 认的映射策略实现是org.springframework.web. servlet.handler.BeanNameUrlHandlerMapping类. 这个类要求任何有可能处理请求的Bean都要起一个以反斜杠(/)字符开头的名称或者别名,这个名称或者别名可以是符合URL Path匹配原则中的任何名字。
Listing A Controller Mapped by a Bean Name
xml 代码
《bean name="/home" class="com.apress.expertspringmvc.flight.web.HomeController"》
《property name="flightService" ref="flightService" /》
《/bean》
■注意:你不能使用id这个属性来指定任何的URL路径,因为在XML规格定中禁止(/)字符来指定XML的id,不过你可以在一个Bean定义中同时拥有id和name属性 BeanNameUrlHandlerMapping 的缺点它 非常便于使用的同时,也拥有一些缺点。它不能影射一个Prototype的Bean.换句话说,当使用 BeanNameUrlHandlerMapping时, 所有的请求处理类只能是单例的(singletons) . 一般来说,Controllers 都是按照单例建立的,所以这个并不是一个很严重的问题.还有,我会在后面的章节中介绍Controller,只会有很少类型的Controller需要是 prototypes.
■注释: Prototype bean 是一种非单例(non-singleton)的bean. 任何一次调用ApplicationContext的getBean()方法时都会返回一个新的Bean实例.
BeanNameUrlHandlerMapping的另外一个问题存在于在你的应用程序中 应用拦截(interceptor). 因为请求的映射(handler mapping )和Bean(beans imapping)的映射给绑定在一起了,没有分开,这样就不可能在Controller和拦截之间创建复杂的关系。如果有复杂的请求映射需求,你可以用 SimpleUrlHandlerMapping 来代替BeanNameUrlHandlerMapping. SimpleUrlHandlerMapping作为BeanNameUrlHandlerMapping的另外一种选择, SimpleUrlHandlerMapping直指BeanNameUrlHandlerMapping的两大软肋.它可以映射 prototype类型的请求处理器,并且它允许你为处理器(handlers)和拦截器(interceptors)之间创建复杂灵活的映射路径的映射算法与BeanNameUrlHandlerMapping是 使用相同的基础组件,所以这个模式依然是映射URL到请求处理器的(request handler) ,你简单的在ApplicationContext中声明一下,就可以使用SimpleUrlHandlerMapping了. DispatcherServlet会根据类型找到的,并且不会创建默认的映射器了(BeanNameUrlHandlerMapping).意思就是, 如果你想两个都用,那么就要全部声明一下在ApplicationContext里.■提示 DispatcherServlet会链式处理请求的(译者:依次处理请求,可以参照过滤器和GOF中的责任链模式),这样允许按照你的要求处理映射,映射处理器(Handler mappings )实现了Orderedr接口.
简单来说就是:匹配0或者更多的目录
SpringMVC中url-pattern /和/*的区别
1、《url-pattern》/《/url-pattern》: 会匹配到/springmvc这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url。这种形式不会覆盖任何其它的servlet。它仅仅替换了servlet容器中内建的默认servlet。这种形式通常只用来请求静态资源(CSS/JS/image等)和展示目录的列表。servlet容器内建的默认servlet同样可以处理HTTP cache请求、媒体(声音/视频)流以及文件的下载。通常来说,你不会想要覆盖这个默认的servlet,否则,你将不得不自己处理一些琐碎的任务。因此,对于sevlet来说,这同样是一个糟糕的URL模式。说到为什么JSP页面的请求并不会命中这个servlet,那是因为servlet容器内建的JSP servlet将会被调用,而这个容器内建的JSP servlet已经默认地映射在了*.jsp上。2、《url-pattern》/*《/url-pattern》: 会匹配所有的url:路径型的和后缀型的url(包括/springmvc,.jsp,.js和*.html等)。 这种形式将会覆盖所有其它的servlet。不管你发出了什么样的请求,最终都会在这个servlet中结束。因此,对于servlet来说,这是一个很糟糕的URL模式。通常来讲,你只会想要在一个Filter中使用这种模式。它可以通过调用doFilter()方法来使请求继续。
怎样在中设置不包含的页面
首先要知道 web.xml 中url-pattern的作用,他是给外部提供的一个访问DoGetDemo类的接口你可以自己随意定义,然后在IE里面写入这个配置内容。可以看我给你写的一个例子图片,应该一下就看懂的用 SimpleHello.java 为例看图片,访问的时候,可以输入下面的网址
Servlet:关于
一看你就是没写过servlet的,你自己写一个配置一下不就什么都明白了,就不会问这种问题了,书上的是用来实践的。url-pattern这个配置项,通过URL访问到你的servlet里,你的servlet会对http请求和相应进行处理的,至于输出什么内容,servlet的原理你清楚就很容易出来,doGet(), doPost()这俩方法的作用你看看,你写个"hello world"的例子就会明白了!
springmvc中url-url-pattern /和/*的区别
1、《url-pattern》/《/url-pattern》 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url2.《url-pattern》/*《/url-pattern》 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等)3、url-pattern详解在web.xml文件中,以下语法用于定义映射:1) 以”/’开头和以”/*”结尾的是用来做路径映射的。2) 以前缀”*.”开头的是用来做扩展映射的。3)“/” 是用来定义default servlet映射的。4)剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action所以,为什么定义”/*.action”这样一个看起来很正常的匹配会错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。
在web.xml的配置文件中url-pattern具体表示什么意思
首先要知道 web.xml 中url-pattern的作用,他是给外部提供的一个访问DoGetDemo类的接口你可以自己随意定义,然后在IE里面写入这个配置内容。可以看我给你写的一个例子图片,应该一下就看懂的用 SimpleHello.java 为例看图片,访问的时候,可以输入下面的网址
url pattern 什么意思
url pattern网址模式拼音双语对照双语例句1The Rails router routes the request to the controller based on the URL pattern.Rails路由器根据URL模式把请求路由给控制器。 2The file will include the specific servlet class definitions and their corresponding URL pattern.这个文件将包括特定的servlet类定义以及它们对应的URL模式。
filter过滤器url-pattern如何设定
filter的url-pattern的设置、多个url-pattern当前报表采用如下filter处理ec的excel导出,并且这个filter被封装好了的《filter》《filter-name》eXtremeExport《/filter-name》《filter-class》org.extremecomponents.table.filter.ExportFilter《/filter-class》《/filter》《filter-mapping》《filter-name》eXtremeExport《/filter-name》《url-pattern》*.report《/url-pattern》《/filter-mapping》有其它页面也用到了ec,也需要导出excel,但是后缀以action结尾,且只有2个特别的url("action1.action"、"action2.action")需要导出excel,尝试这么写不行《filter-mapping》《filter-name》eXtremeExport《/filter-name》《url-pattern》action1.action《/url-pattern》《/filter-mapping》这么写可以《filter》《filter-name》drpEcExportFilter《/filter-name》《filter-class》com.common.filter.DrpEcExportFilter《/filter-class》《/filter》《filter-mapping》《filter-name》drpEcExportFilter《/filter-name》《url-pattern》*.action《/url-pattern》《/filter-mapping》《filter-mapping》《filter-name》drpEcExportFilter《/filter-name》《url-pattern》*.multidimensionalreport《/url-pattern》《/filter-mapping》但是不够精确于是采用继承的方式共享.DrpEcExportFilter,而url的处理由自己控制《filter-name》drpEcExportFilter《/filter-name》《filter-class》com.common.filter.DrpEcExportFilter《/filter-class》《/filter》《filter-mapping》《filter-name》drpEcExportFilter《/filter-name》《url-pattern》*.action《/url-pattern》《/filter-mapping》其中DrpEcExportFilter.java的代码-------------------------------------------------------------------------------------------------------package com.common.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.
更多文章:
iphone13mini重量(iphone13mini厚度)
2023年12月5日 19:55
三星galaxy tab系统更新(三星tab p-1000如何进行系统升级)
2024年9月19日 06:05
福州哪里可以买到5230港行手机?福州大利嘉琦琪手机口碑怎么样!兄弟打算出手买htc g7!
2024年9月14日 20:05
iphone5 掉漆(想问一下现在iphone5掉漆问题还存在吗)
2024年10月30日 02:00
华为汽车合作伙伴(一汽解放CIO陈磊:华为云支撑一汽解放数字化转型战略落地)
2024年4月21日 00:50
华为荣耀手表2和gt2区别(华为手表gt2和gt2e的区别)
2024年10月31日 19:50
nokia 路由器 库存(诺基亚6连接不上无线网/无线路由器怎么办)
2024年6月29日 08:30
索尼爱立信w508和夏普7118c(我想买部女生用的翻盖手机,价美物廉性价比高点的,有没有什么好的推介)
2024年9月10日 12:50
诺基亚5233铃声大全(诺基亚5233手机铃声 开头“噔噔噔噔”然后女生唱“耶耶~~~”)
2024年9月19日 02:40