springmvc配置

struts2和springmvc的区别

我只是一个虾纸丫 提交于 2020-01-16 05:02:20
一、拦截机制的不同   Struts2 是 类级别 的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据注入到属性。 Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。 Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了,只能设计为多例。    SpringMVC是 方法级别 的拦截,一个方法对应一个Request上下文,所以方法直接基本上是独立的,独享request,response数据。而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的,是方法所独有的。处理结果通过ModeMap返回给框架。 在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。    Struts2有自己的拦截Interceptor机制,SpringMVC这是用的是独立的Aop方式

SpringMVC_入门项目

試著忘記壹切 提交于 2020-01-16 03:16:01
本项目是SpringMVC的入门项目,用于演示SpringMVC的项目配置、各层结构,功能较简单 一、Eclipse中创建maven项目 二、pom.xml添加依赖 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 < dependency > < groupId >javax.servlet</ groupId > < artifactId >javax.servlet-api</ artifactId > < version >3.1.0</ version > </ dependency > < dependency > < groupId >javax.servlet.jsp</ groupId > < artifactId >jsp-api</ artifactId > < version >2.2</ version > </ dependency > <!--① 依赖的Spring模块类库 --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-context</ artifactId > < version >3.1.1.RELEASE

SpringMVC用注解写第一个程序HelloSpringMVC

十年热恋 提交于 2020-01-16 02:57:46
比起刚刚用xml配置开发的 第一个程序HelloSpringMVC 简单多了,当然在实际开发中也是用注解开发的,这里还是先给出一个HelloController,但是这里不用实现Controller接口了,而是用注解搞定 package com.zhiying.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping("/hh") public String Hello(Model model) { model.addAttribute("msg", "Hello SpringMVC"); //被试图解析器处理,拼接成/WEB-INF/jsp/hello.jsp return "hello"; } } 接下来是要跳转的jsp页面了 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title

SpringMVC中RestFul风格

落花浮王杯 提交于 2020-01-15 20:09:39
先说一下什么是RestFul风格,以一个链接为例子,如果我们访问一个网页,想要给a和b传参数,传统的方式是?a=1&b=2,而RestFul就是改变了传统的方式,用/a/1/2的形式,达到了简洁、安全、高效(支持缓存)。 这里我们以一个简单的SpringMVC例子来进行演示,首先我们写一个 Controller控制器(核心) package com.zhiying.controller4; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class ControllerTest4 { @RequestMapping("/add/{a}/{b}") public String test1(@PathVariable int a, @PathVariable int b, Model model) { int result = a + b; model.addAttribute(

SpringMVC的运行原理

本小妞迷上赌 提交于 2020-01-15 16:07:25
SpringMVC的运行原理 1) 用户发送请求至前端控制器DispatcherServlet; 2) DispatcherServlet收到请求调用HandlerMapping处理器映射器; 3) 处理器映射器找到具体的处理器(可以根据xml配置,注解进行查找),生成处理器对象及处理器拦截器一并返回给DispatcherServlet; 4) DispatcherServlet调用HandlerAdapter处理器适配器; 5) HandlerAdapter经过适配调用具体的处理器(Contoller,也叫后端控制器); 6) Controller执行完成返回ModelAndView; 7) HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet; 8) DispatcherServlet将ModelAndView传给ViewResolver视图解析器; 9) ViewResolver解析后返回具体view; 10) DispatcherServlet根据view进行渲染视图(将模型数据填至视图中); 11) DispatcherServlet响应用户; 来源: https://www.cnblogs.com/yanboju1117/p/9754030.html

SpringMVC的工作原理

杀马特。学长 韩版系。学妹 提交于 2020-01-15 15:47:26
SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。 6、 Controller执行完成返回ModelAndView。 7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。 9、 ViewReslover解析后返回具体View。 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。 11、 DispatcherServlet响应用户。 来源: https://www.cnblogs.com/523823-wu/p/8759895.html

SpringMVC执行流程

非 Y 不嫁゛ 提交于 2020-01-15 13:01:20
一、springMvc概念 springMvc是基于servlet的web框架,其简化了web程序的开发 二、springMvc请求流程 在阅读时不妨可以带着几个问题阅读: 1.我们通常在浏览器输入的接口怎么由DispatcherServlet调到具体的Handler的(就是我们自己开发的Controller类) 2.编写Controller的形式有哪几种? springMvc重要组件: 之所以先说这几个组件,是因为只要了解了这几个组件后你便可以对springMvc请求流程有个大致的清晰认识了。(Handler就是我们写的Controller) HandlerMapping HandlerAdapter ViewResolver View HandlerExceptionResolver HandlerInterceptor DisPatcher作为一个主流程入口,看一下DispatcherServlet结构 DispatcherServlet为了简洁,省去了很多方法跟属性 public class DispatcherServlet extends FrameworkServlet { //定义了默认策略名字 private static final String DEFAULT_STRATEGIES_PATH = "DispatcherServlet.properties";

SpringMVC favicon.ico 配置

主宰稳场 提交于 2020-01-15 12:18:24
请求地址如下: http://localhost:2323/favicon.ico 配置: web.xml <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.ico</url-pattern> </servlet-mapping> spring-mvc.xml(并非必须放入static目录下,该位置自定义,根据location查找) <mvc:resources mapping="/favicon.ico" location="static/"/> 在static目录下放入ico 来源: https://www.cnblogs.com/hfultrastrong/p/12195565.html

SpringMVC访问静态资源

冷暖自知 提交于 2020-01-15 07:25:35
问题背景 自己做SpringMVC项目的时候,希望通过login.jsp向resume.jsp传递参数name,resume.jsp是由我本地html生成的,结果发现页面中的css以及图片等静态资源都没有被访问到。上网看了大神的解决方案,总结就以下三种。 修改web.xml配置 因为我之前的设置,将所有的请求均拦截下来,然后交由对应的controller处理。设置如下: <servlet-mapping> <servlet-name>dispatcher</servlet-name> <!--拦截所有请求--> <url-pattern>/</url-pattern> </servlet-mapping> 然而,因为css、js、图片等是静态资源,一般不会有专门的controller处理,这时需要告诉服务器静态资源不需要拦截。设置如下: <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpeg</url-pattern> </servlet-mapping> <servlet

SpringMVC中的@requestMapping问题与controller方法的返回值问题

旧巷老猫 提交于 2020-01-15 05:09:07
@requestMapping 1、url映射   定义controller方法对应的url,进行处理器映射使用   @RequestMapping("/items")   public class ItemsController {...} 2、窄化请求映射 3、限制http请求方法 出于安全性考虑,对 http 的链接进行方法限制。 如果限制请求为 post 方法,进行 get 请求,报错: 但是因为method={}是数组,所以可以把POST与GET方法都写进去 controller 方法的返回值 1、返回ModelAndView   需要方法结束时,定义ModelAndVIew,将Model 和View分别进行设置: modelAndView.addObject("item", itemsCustom); modelAndView.setViewName("editItem"); 2、返回string   若controller方法返回string a.表示返回逻辑视图名 。 (所谓逻辑视图名即:在springMMVC里配置了前缀和后缀,所以具体路径简化为去掉前缀和后缀的路径) 真正视图 (jsp 路径 )= 前缀 + 逻辑视图名 + 后缀 b、 redirect 重定向 商品修改提交后,重定向到商品查询列表。 redirect 重定向特点:浏览器地址栏中的 url 会变化