因为我有好几个URL,它们的模式是相似的。比如
/mobileProduct_categories_1_0.html 这个URL之后被urlrewrite成/mobileProduct!categories.action?level=0&parentId=1
这里只列举了这2个URL,总之它们的特点就是都以/mobileProduct开头。
所以我在过滤器映射时,把url-pattern写成/mobileProduct*,但是是不行的,拦截不到。
看了Pro JSP2 4th版这本书。发现下面的总是/*,就没有字母后面带*号的。难道我这里具有很明显规则的URL就不能拦截了?
有人说你写成/*,拦截所有,然后在Filter中判断。但我觉得这样做的话就违背了Filter的意思,拦截所有,那还有什么灵活性可言。
谁知道怎么解决这个问题吗?
相关推荐
在Web应用开发中,`web.xml`配置文件扮演着极其重要的角色,其中`<url-pattern>`元素用于定义Servlet的映射规则,即URL模式。通过不同的URL模式,我们可以精确地控制Servlet如何被客户端请求所调用。本文将详细介绍`...
总的来说,Servlet URL-Pattern是Web开发中不可或缺的一部分,它帮助我们组织和管理Web应用的路由,确保请求能够准确地被对应的Servlet捕获并处理。通过合理设置URL-Pattern,可以提高应用的可维护性和用户体验。...
Servlet的URL-Pattern匹配规则是Web应用程序中Servlet和Filter配置的核心部分,它决定了Servlet或Filter如何响应特定的HTTP请求。以下是对这些匹配规则的详细解释: 1. **精确匹配** - 在`<url-pattern>`中指定的...
<url-pattern>/servlet/AxisServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>*.jws</url-pattern> </servlet-mapping> <servlet-...
当设置`<url-pattern>/</url-pattern>`时,Servlet将捕获所有不被其他更具体`url-pattern`处理的请求。这通常用于设置一个默认Servlet,处理静态资源或者提供应用程序的主页。 总结来说,正确配置Servlet的`url-...
重点位置: <!-- spring 配置文件--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/app.xml... <url-pattern>/services/*</url-pattern> </servlet-mapping>
<url-pattern>/servlet/registerServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>changecodeServlet</servlet-name> <servlet-class>servlet.changecodeServlet</servlet-class> </servlet...
总结一下,`url-pattern`在Servlet技术中扮演着核心角色,它定义了Servlet的访问路径,使得服务器能够根据不同的URL模式调用不同的服务逻辑。在编写`web.xml`时,我们需要根据应用需求精确地设置`url-pattern`,以...
要注意的是,Servlet 2.5版本开始,一个Servlet可以对应多个`<url-pattern>`,每个`<url-pattern>`定义了一个独立的匹配规则。 总的来说,理解Servlet的URL-Pattern匹配规则对于正确配置和管理Servlet至关重要,它...
2. 最长路径匹配:如果请求URL不匹配任何精确路径,容器会尝试找到最长的路径模式。例如,对于`/test/*`和`/test/a/*`,后者会优先匹配`http://localhost/test/a`。 3. 扩展匹配:如果以上两种方式都无法匹配,容器...
1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.... <url-pattern>/dwr/*</url-pattern>
<url-pattern>/hello</url-pattern> </servlet-mapping> ``` ### 其他配置选项 - **属性设置**: - `port`: HTTP服务监听的端口号。 - `host`: 服务器绑定的主机名或IP地址。 - **srun配置**: - `port`: 启动...
<filter-class>myfilter.LoggerFilter</filter-class> </filter> <filter-mapping> <filter-name>loggerfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 2. 过滤特定类型的文件...
<filter-name>EncodingFilter</filter-name> <filter-class>com.example.EncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern...
- **映射URL到Servlet**:通过`<servlet-mapping>`元素,我们可以指定URL模式与Servlet类之间的关系。 - **定义欢迎文件**:设置默认打开的页面,当用户访问目录而非具体文件时,服务器会尝试寻找这些欢迎文件。 - *...
<filter-name>LoginFilter</filter-name> <filter-class>com.example.LoginFilter</filter-class> </filter> ``` 5. **`<filter-mapping>`** - **作用**:将过滤器与特定的资源(如servlet或JSP页面)进行...
<servlet> <servlet-name>Quercus Servlet</servlet-name> <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class> ... <url-pattern>*.php</url-pattern> </servlet-mapping>
<url-pattern>/myServlet/*</url-pattern> </filter-mapping> ``` **用途**: 指定哪些URL模式应该由过滤器处理。 ##### 7. `<listener>` 标签 **定义**: Servlet API的版本2.3增加了对事件监听程序的支持,事件...
- **解决方法**:在`web.xml`中配置`servlet-mapping`,指定某些URL模式不经过Spring MVC处理,而是直接由Web容器返回资源。例如: ```xml <servlet-mapping> <servlet-name>default</servlet-name> <url-...