springmvc配置

SpringMVC拦截器与异常处理

*爱你&永不变心* 提交于 2020-02-26 13:25:43
点击查看上一章 在我们SpringMVC中也可以使用拦截器对用户的请求进行拦截,用户可以自定义拦截器来实现特定的功能。自定义拦截器必须要实现 HandlerInterceptor 接口 package com.spring.mvc.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; /** * @author:SimpleWu * @to:拦截器执行流程:preHandle - 目标方法 - postHandle -渲染视图 - afterCompletion */ public class MyInterceptor implements HandlerInterceptor{ /** * 渲染视图之后被调用 * 释放资源 */ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1,

springMVC学习笔记--初识springMVC

情到浓时终转凉″ 提交于 2020-02-25 19:55:12
前一段时间由于项目的需要,接触了springMVC(这里主要是讲3.1版,以下内容也是围绕这个版本展开),发觉其MVC模式真的很强大,也简单易用,完全是基于注解实现其优雅的路径配置的。想想以前接手的项目,是用原生的servlet,一个功能块就得在web.xml上配置一个servlet信息,那个蛋疼,现在那个项目就单配置文件都快达到1万行了。当然,现在是SSH横行的年代,strust2.0也是许多企业的选择,是一个稳定、成熟的框架。但是我们选择springMVC是因为其具有几个突出的特性:1.轻量、2控制反转、3.面向切面、4.容器。这里可以参考这篇文章: http://developer.51cto.com/art/200610/33580.htm 1 springMVC简介 1.1 度娘有话 度娘说:SpringMVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText

深入源码分析SpringMVC执行过程

拈花ヽ惹草 提交于 2020-02-25 19:18:51
本文主要讲解 SpringMVC 执行过程,并针对相关源码进行解析。 首先,让我们从 Spring MVC 的四大组件: 前端控制器(DispatcherServlet)、处理器映射器(HandlerMapping)、处理器适配器(HandlerAdapter)以及视图解析器(ViewResolver) 的角度来看一下 Spring MVC 对用户请求的处理过程,过程如下图所示: SpringMVC 执行过程 用户请求发送到 前端控制器 DispatcherServlet 。 前端控制器 DispatcherServlet 接收到请求后,DispatcherServlet 会使用 HandlerMapping 来处理, HandlerMapping 会查找到具体进行处理请求的 Handler 对象 。 HandlerMapping 找到对应的 Handler 之后,并不是返回一个 Handler 原始对象,而是一个 Handler 执行链(HandlerExecutionChain),在这个执行链中包括了拦截器和处理请求的 Handler。HandlerMapping 返回一个执行链给 DispatcherServlet。 DispatcherServlet 接收到执行链之后,会 调用 Handler 适配器去执行 Handler 。 Handler 适配器执行完成 Handler

Spring源码学习(5)- springmvc解析

匆匆过客 提交于 2020-02-25 15:50:46
Spring源码学习(5)- springmvc解析 介绍 1.取代web.xml配置 super.onStartup()方法 registerDispatcherServlet()方法 启动spring容器 2.取代springmvc.xml配置 请求之间建立映射关系 dispatcherServlet处理请求 getHandler() getHandlerAdapter mappedHandler.applyPreHandle ha.handle 方法调用 处理返回值 mappedHandler.applyPostHandle processDispatchResult 介绍 SpringMvc是基于servlet规范来完成的一个请求详情模块,也是spring中比较大的一个模块。springmvc使用有两种方式,一种是配置文件的形式;另一个就是注解的形式,这种方法采用的是约定大于配置的方式。完成这个过程,springmvc要解决两个问题。 1.取代web.xml配置 springmvc借助servlet中的一个规范,来完成这个事情 当servlet容器启动的时候,会根据spi规范,在家META-INF/services文件夹里面的 javax.servlet.ServletContainerInitializer 文件,这个文件会实现 javax.servlet

springMvc源码学习之:利用springMVC随时随地获取HttpServletRequest等对象

点点圈 提交于 2020-02-25 12:34:02
一、准备工作: 在web.xml中添加 [html] view plain copy < listener > < listener-class > org.springframework.web.context.request.RequestContextListener </ listener-class > </ listener > 二、使用方法: 1、方法一:通过代码实现 [java] view plain copy HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest(); 2、方法二:通过注解实现: [java] view plain copy @Autowired private HttpServletRequest request; 三、关于RequestContextListener的背景知识: Request作用域 <bean id="loginAction" class="com.foo.LoginAction" scope="request"/> 针 对每次HTTP请求,Spring容器会根据loginAction bean定义创建一个全新的LoginAction bean实例

SpringMVC入门

放肆的年华 提交于 2020-02-24 16:52:04
一、SpringMVC原理解析   1、我们首先分析一下整个请求处理的流程:    ① 在B/S架构的系统中,用户首先从浏览器中发出Http请求(请求中会包含用户的请求内容信息或者表单信息),然后首先经过前端控制器(DispatcherServlet)进行处理,    ② 然后前端控制器需要接触处理器映射器知道自己使用哪一个处理器处理请求信息,    ③ 然后处理器映射器会返回给前端控制器一个处理器执行链,    ④ 前端控制器通过处理器适配器去执行处理器,然后让处理器适配器返回给自己模型和视图,    ⑤ 处理器适配器去调用相应的处理器    ⑥ 执行后的处理器返回给处理器适配器信息,具体就是返回处理结果(ModelAndView)    ⑦ 处理器适配器得到模型视图(ModelAndView)之后,将之返回给前端控制器    ⑧ 前端控制器自己本身不对ModelAndView进行解析,而是交给视图解析器进行视图解析    ⑨ 视图解析器完成视图解析后,将视图(View)返回给前端控制器    ⑩ 前端控制器得到view后,会交给视图进行渲染,具体就是jsp、freemaker等等,最后响应给用户      2、通过上面的解释和线面图例的理解,我们可以对SpringMVC这个框架的处理流程有一个大致的了解。上面只是介绍了一部分组件,我们下面可以简单的介绍各个组件的功能    ①

SpringMVC之ContextLoaderListener

怎甘沉沦 提交于 2020-02-24 15:46:20
Spring MVC 是建立在 IOC 容器基础上的,那么该容器是如何在 Web 环境中被载入并起作用的 ?通常我们需要配置一个监听器(ContextLoaderListener)。 所谓ContextLoaderListener,就是在web部署描述符即web.xml里面经常配置的一个监听器,如下 < listener > < listener - class > org . springframework . web . context . ContextLoaderListener < / listener - class > < / listener > 那么配合它一起使用的,经常是context-param,用来指定Spring要加载的配置文件,比如 < context - param > < param - name > contextConfigLocation < / param - name > < param - value > / WEB - INF / teach - servlet . xml < / param - value > < / context - param > < ! -- Spring MVC -- > < servlet > < servlet - name > teach < / servlet - name > < servlet

SpringMVC框架静态资源无法加载

拥有回忆 提交于 2020-02-22 23:23:14
我们在SpringMVC框架中,我们使用前端控制器来拦截请求,但是由于在标签 <url-pattern>/</url-pattern> ,所以前端控制器拦截的是所有的请求,当然包括静态资源,所以我们无法获取静态资源,所以我们需要在 springmvc.xml 中进行配置,配置如下: <!--告诉前端控制器,那些资源不拦截--> < mvc: resources mapping = " /js/ " location = " /js/** " /> < mvc: resources mapping = " /css/ " location = " /css/** " /> 如果这样还不行,那么我们需要在web.xml中配置如下: < servlet-mapping > < servlet-name > default </ servlet-name > < url-pattern > *.css </ url-pattern > < url-pattern > *.js </ url-pattern > < url-pattern > *.gif </ url-pattern > < url-pattern > *.jpg </ url-pattern > < url-pattern > *.jpeg </ url-pattern > < url-pattern > *.png </

《SpringMVC从入门到放肆》七、模型与视图ModelAndView

荒凉一梦 提交于 2020-02-21 01:16:25
上一篇我们了解了开发一个Controller的4种方法,如果不记得的朋友可以看看上一篇博文,今天我们来继续了解SpringMVC的模型与视图ModelAndView。 一、什么是Model? ModelAndView即模型与视图,通过addObject()方法向模型中添加数据,通过setViewName()方法来指定视图名称。查看源码,可以看到ModelAndView类中的模型model其实是个ModelMap,继续跟踪ModelMap,可以发现其实是继承自LinkedHashMap类的。而LinkedHashMap类正是一个双向的链表。如下: @SuppressWarnings("serial") public class ModelMap extends LinkedHashMap<String, Object> { //... } 二、视图解析器 视图解析器ViewResolver接口负责将处理结果生成view视图,常用的实现类有4种。 1:内部资源解析器(InternalResourceViewResolver) 该解析器用于完成对当前Web应用内部的资源进行封装与跳转,查找规则是将ModelAndView中指定的视图名称与解析器的前缀与后缀进行拼接,拼接成一个内部路径。(前缀 + 视图名称 + 后缀

SpringMVC的HelloWorld快速入门!

放肆的年华 提交于 2020-02-20 17:58:58
1、加入 JAR 包: commons-logging-1.1.3.jar spring-aop-4.0.0.RELEASE.jar spring-beans-4.0.0.RELEASE.jar spring-context-4.0.0.RELEASE.jar spring-core-4.0.0.RELEASE.jar spring-expression-4.0.0.RELEASE.jar spring-web-4.0.0.RELEASE.jar spring-webmvc-4.0.0.RELEASE.jar springmvc-jar包下载(百度云) 密码:lnn8 spring官方文档-插件-所有jar包 密码:cm8s 2、配置前端控制器【DispatcherServlet】 1 <!-- The front controller of this Spring Web application, responsible for handling all application requests --> 2 <!--向服务器注册前端控制器! --> 3 <servlet> 4 <servlet-name>springDispatcherServlet</servlet-name> 5 <!--DispatcherServlet指的是SpringMVC的前端控制器!,给服务器使用