使用spring-mvc首先需要这些依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency>web部署描述符web.xml是java web 应用必不可少的配置文件。
<servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>为了让spring加载 *-servlet.xml之外的配置文件,需要定servlet监听器contextLoaderListener。默认情况下加载配置文件/WEB-INF/applicationcontext.xml,但是也可以在上下文参数中指定资金的文件。可以指定多个用逗号或者空格分隔的配置文件。
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml /WEB-INF/spring-security-servlet.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
ContextLoaderListener 加载指定的Bean配置文件到跟应用上下文中,而每个DispatcherServlet将其配置文件加载到自己的上下文,并引用根应用上下文为其上级。每个DispatcherServlet实例加载的上下文可以访问甚至覆盖跟应用上下文中声明的Bean。子上下文可以访问父上下文中的内容,但父上下文不能访问子上下文中的内容。
激活Spring MVC 注解扫描
<context:component-scan base-package="com.broadwave" /> <bean class="org.springframework.web.servlet.mvc.annotation.DeaultAnnotationMethodHandlerMaping"> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> </bean>
<mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
会把"/**" url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由HandlerMapping转到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler处理并返回.
DefaultServletHttpRequestHandler使用就是各个Servlet容器自己的默认Servlet.
补充说明:多个HandlerMapping的执行顺序问题:
DefaultAnnotationHandlerMapping的order属性值是:0
<mvc:resources/ >自动注册的 SimpleUrlHandlerMapping的order属性值是: 2147483646
<mvc:default-servlet-handler/>自动注册 的SimpleUrlHandlerMapping 的order属性值是: 2147483647
spring会先执行order值比较小的。当访问一个a.jpg图片文件时,先通过 DefaultAnnotationHandlerMapping 来找处理器,一定是找不到的,因为我们没有叫a.jpg的Action。然后再按order值升序找,由于最后一个 SimpleUrlHandlerMapping 是匹配 "/**"的,所以一定会匹配上,就可以响应图片
@RequestMapping("list") public void memberList() { } //返回值为void的方法默认会返回与方法签名同名的视图(也就是memberList)
自定义一个拦截器,要实现HandlerInterceptor接口
@Component public class Intercept implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // TODO Auto-generated method stub return false; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // TODO Auto-generated method stub } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { // TODO Auto-generated method stub }
发表评论
-
Spring Web Flow 2.0 入门详解
2014-06-30 17:00 482目录: 参考文献 购物车用例 什么情况下可以使用 S ... -
spring annotation
2014-05-20 13:58 412@RequestParam用于将请求 ... -
Spring3.1 Cache
2014-04-15 21:55 544<!-- ehcache 缓存 --> ... -
搭建spring测试环境
2014-04-10 11:00 28<dependency> <gro ... -
spring-data-jpa
2014-03-24 14:13 413创建查询的顺序 Spring Data JPA 在为接口创 ... -
spring security session-management
2014-03-23 12:25 7671、在配置文件中增加 一个listen <list ... -
spring security
2014-03-19 17:52 368先来谈一谈Acegi的基础 ... -
DelegatingFilterProxy 分析
2014-03-19 14:56 773protected Filter initDeleg ... -
UsernamePasswordAuthenticationFilter 源码分析
2014-03-19 13:55 1168AbstractAuthenticationProc ... -
@ResponseBody & @RequestBody
2014-03-17 23:12 434@RequestBody 作用: i) ... -
spring ioc
2014-03-07 17:39 432RequiredAnnotationBeanPostPro ... -
Spring Security
2014-03-07 11:36 304er -
spring aop
2014-03-07 09:43 599<!-- 启动AspectJ支持 --> ... -
Spring jar包详解
2014-03-06 15:50 413今天我先向大家介绍 ... -
spring 自学
2013-10-02 10:17 811@NotNull @Min(18) ...
相关推荐
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...
首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController ...
《Spring MVC+MyBatis开发从入门到项目实战》分为4篇。第1篇是Java开发环境的搭建,包括JDK的下载与安装、环境变量的配置、MyEclipse的下载与基本配置。第2篇是MyBatis技术入门,包括剖析JDBC的弊端、MyBatis的背景...
精通Spring MVC 4 中文
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
Spring MVC 是Spring框架最重要的的模块之一。它以强大的Spring IoC容器为基础,并充分利用容器的特性来简化它的配置。 commons-logging-1.2.jar jackson-annotations-2.6.6.jar jackson-core-2.6.6.jar jackson-...
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统,实现学生增删改查功能设计一个简单的学生信息管理系统,要求使用SSM框架技术整合实现,用户登录后能够通过Web页面添加、删除、修改和查询学生信息 ...
spring mvc 开发jar包
Spring MVC所需jar包,包含java开发中 Spring MVC架构中最常用的jar包
spring MVC环境搭建 所需jar包 ├── commons-logging-1.1.1.jar ├── jstl.jar ├── spring-aop-4.3.0.RELEASE.jar ├── spring-aspects-4.3.0.RELEASE.jar ├── spring-beans-4.3.0.RELEASE.jar ├...
Servlet JSP和Spring MVC初学指南
spring MVC数据绑定 含例子 转载自疯芒毕露的专栏 刚开始用spring mvc 做web开发时 经常会不知道如何合适绑定页面数据 用惯struts2的朋友更认为spring mvc 绑定数据不如struts2方便 本人最开始也是这么认为 经过一段...
Spring MVC: A Tutorial (Second Edition) by Paul Deck AZW3/MOBI/EPUB/PDF 多种版本 This is a tutorial on Spring MVC, a module in the Spring Framework for rapidly developing web applications. The MVC in...
01. 采用后台及前台的 Spring + Spring mvc + Hibernate + Bootstrap 02. 后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04...
Spring MVC + Mybatis+Spring实现的个人博客系统基于SSM实现的个人博客系统.zip
spring mvc轻量级框架搭建,依赖全面jar文件包。下载解压直接将jar文件复制到工程中的lib中。