从spring3 mvc支持rest,丰富的注解,应用起来非常方便,对所有的请求当做rest来处理,这就会带来一个问题,如果是静态资源,如js、css和图片,就会导致无法完成请求。为了绕过DispatcherServlet对这些静态资源的处理,多使用UrlRewriteFilter。
web.xml配置如下
<servlet>
<servlet-name>starframe</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:applicationContext-mvc.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>starframe</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
urlrewrite的配置,resources下的静态资源不被DispatcherServlet接收处理
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<urlrewrite default-match-type="wildcard">
<rule>
<from>/resources/**</from>
<to>/resources/$1</to>
</rule>
<rule>
<from>/**</from>
<to>/app/$1</to>
</rule>
<outbound-rule>
<from>/app/**</from>
<to>/$1</to>
</outbound-rule>
</urlrewrite>
spring3.0.4开始更加方便了,一行配置完成上面的请求,/resources/**映射到ResourceHttpRequestHandler进行处理,location指定静态资源的位置.可以是web application根目录下、jar包里面,这样可以把静态资源压缩到jar包中。cache-period 可以使得静态资源进行web cache
<servlet>
<servlet-name>starframe</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:applicationContext-mvc.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>starframe</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<mvc:resources location="/resources/" mapping="/resources/**"/>
分享到:
相关推荐
在这个教程中,我们将深入探讨Spring 3.0版本的MVC配置。 一、环境准备 在开始配置Spring MVC之前,确保你已经安装了以下工具: 1. Java Development Kit (JDK):Spring 3.0支持JDK 1.5及以上版本。 2. Apache ...
在这个简单的实例中,我们将深入理解如何配置和使用 Spring MVC 来创建一个基本的 Web 应用。 ### **1. 概述** Spring MVC 提供了处理 HTTP 请求、数据绑定、验证和视图解析的能力,使得开发者可以更专注于业务逻辑...
这里的 `@Controller` 注解标记该类为 Spring MVC 的控制器,`@RequestMapping` 注解定义了一个请求映射,当访问 `/hello` 路径时,会调用 `hello()` 方法。 ### 五、创建视图 在 `src/main/webapp/WEB-INF/views`...
同时,在`src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml`中配置Spring MVC的bean和视图解析器: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
- **启用注解驱动**:使用`<mvc:annotation-driven/>`来启用Spring MVC的注解功能。 - **配置视图解析器**:定义视图解析器`InternalResourceViewResolver`来处理视图名与实际视图文件之间的映射关系。 #### 三、...
在本教程中,我们将详细介绍如何搭建一个基本的 Spring MVC 示例项目,并实现与数据库的连接,以完成数据的插入操作。 首先,我们需要准备以下开发环境: 1. JDK(Java Development Kit):确保安装了最新版本的 ...
7. **运行与测试**:启动Servlet容器(如Tomcat),访问`http://localhost:8080/your-app-context-path/hello`,如果一切配置正确,你应该能看到“hello”页面。 对于初学者,理解Spring MVC的生命周期、MVC组件的...
<mvc:resources mapping="/resources/**" location="/resources/" /> ``` 现在,我们可以开始编写业务逻辑和控制器。在`com.yourcompany.yourproject`包下创建相应的Java类,比如`HelloController.java`,使用...
-- 启用Spring MVC的注解支持 --> <mvc:annotation-driven /> <!-- 扫描Controller所在的包 --> <context:component-scan base-package="com.example.controller" /> <!-- 自定义拦截器配置 --> <mvc:...
例如,如果我们想要处理GET请求到"/hello",可以创建一个方法并添加注解: ```java @Controller public class HelloWorldController { @RequestMapping("/hello") public String sayHello(Model model) { model....
在本文中,我们将深入探讨如何使用Nutz框架创建一个简单的MVC(Model-View-Controller)应用程序,以“HelloWorld”为例。Nutz是一个轻量级的Java开发框架,它提供了全面的MVC支持,使得开发者能够高效地构建Web应用...
在本教程中,我们将详细介绍如何搭建一个基本的 Spring MVC 项目,并结合 log4j 进行日志管理。 首先,你需要在你的开发环境中安装 JDK 和一个 IDE,如 IntelliJ IDEA 或 Eclipse。然后,确保你已经安装了 Apache ...
4. **配置servlet-context.xml**:在`/WEB-INF/spring/appServlet/servlet-context.xml`中,设置Spring MVC的组件扫描和视图解析器。 ```xml <context:component-scan base-package="com.example.myapp" /> ...
MyBatis是一个轻量级的持久层框架,它简化了Java与数据库之间的交互,允许开发者将SQL语句直接写在XML配置文件或注解中,消除了对JDBC的繁琐操作。MyBatis强调的是SQL的灵活性,它能够处理复杂的查询,同时提供了一...
在命令行中,我们可以使用`mvn archetype:generate`命令来创建一个基于Spring MVC的Maven项目。选择`spring-mvc-quickstart-archetype`作为archetype,并按照提示输入项目信息。 **1. 创建项目结构** 项目的基本...
完成以上步骤后,可以将项目部署到Tomcat或其他Servlet容器上,通过浏览器访问`http://localhost:8080/your-app-context-path/hello`,如果一切配置正确,你应该能看到"Hello Spring MVC!"的输出。 **总结** ...
<mvc:resources mapping="/resources/**" location="/resources/"/> ``` 现在,你可以创建对应的Controller、Service、Repository和Entity类来实现业务逻辑。例如,创建一个简单的CRUD操作的Controller: ```...
2. **Spring Framework**: 下载并添加Spring的核心库到项目类路径中,包括`spring-webmvc.jar`。 3. **Maven或Gradle**: 为了管理依赖,推荐使用Maven或Gradle作为构建工具。 4. **Web服务器/应用服务器**: 如Tomcat...
在SpringMVC中,我们使用`@Controller`注解来标识一个类作为控制器。例如,你可以创建一个名为`HelloController`的类,并添加`@RequestMapping`注解来处理特定的URL请求。如下所示: ```java @Controller public...
7. **运行与测试**:完成以上步骤后,你可以启动服务器并访问 "http://localhost:8080/your-app-context/hello" 来查看“Hello, World!”页面。如果出现 404 错误,检查配置是否正确,特别是 URL 映射和视图解析器的...