【串线篇】MVC与SpringMVC】的更多相关文章

SpringMVC和Spring整合的目的:分工明确: SpringMVC的配置文件就来配置和网站转发逻辑以及网站功能有关的(视图解析器,文件上传解析器,支持ajax,xxx):springmvc.xml Spring的配置文件来配置和业务有关的(事务控制,数据源,xxx):spring.xml 1. <import resource="spring.xml"/>:可以合并配置文件:虽然是两个spring配置文件,但这种方式仍然相当于一个ioc 2.规范整合 分容器,即两个…
writedby 张艳涛,上一篇写了springmvc对<mvc:annoXXXX/>标签的解析过程,其实是遗漏重要的细节,因为理解的不深入吧 今天接着解析<bean>标签 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="htt…
1.二者区分 MVC: SpringMvc: DispatcherServlet(前端控制器名) 2.springmvc思想 Spring MVC 通过一套 MVC 注解,让 POJO成为处理请求的控制器,而无须实现任何接口 POJO:“即简单普通Java对象”区别于EJB…
概述 Spring MVC通过一套MVC注解,让POJO变成处理请求的控制器,无需实现任何接口,同时,SpringMVC还支持REST风格的URL请求:注解驱动和REST风格的Spring MVC是Spring 3.0最出彩的功能之一. Spring MVC框架围绕 DispatcherServlet这个核心展开,DispatcherServlet是SpringMVC的总导演,它负责截获请求,并将其分派给相应的处理器处理. 和大多数WEB MVC一样,Spring MVC通过一个前端Servle…
一.Spring MVC auto-configuration Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:(WebMvcAutoConfiguration) Inclusion of: ContentNegotiatingViewResolver and  BeanNameViewResolver 自动配置了ViewResolver(视图解析器:根据方法的返回值得到视图对象(View),视图对象决定如何 渲染(转发?重定向?))…
SpringMVC中的Servlet一共有三个层次,分别是HttpServletBean.FrameworkServlet和 DispatcherServlet. HttpServletBean直接继承自java的HttpServlet,其作用是将Servlet中配置的参数设置到相应的属性: FrameworkServlet初始化了WebApplicationContext,    DispatcherServlet初始化了自身的9个组件(平行而非嵌套);对9个组件做个概览. 共同点:九大组件全…
只要请求不好使就召唤mvc:annotation-driven <mvc:default-servlet-handler/> <mvc:annotation-driven/> 现象: 1).都没配?动态资源(@RequestMapping映射的资源能访问,静态资源(.html,.js,.img)) HandlerMapping: 动态资源能访问: DefaultAnnotationHandlerMapping中的handlerMap中保存了每一个资源的映射信息: 静态资源不能访问:…
一. 请求处理方法执行完成后,最终返回一个 ModelAndView 对象.对于那些返回 String,View 或 ModeMap 等类型的处理方法,Spring MVC 也会在内部将它们装配成一个 ModelAndView 对象,它包含了逻辑名和模型对象(数据model)的视图 二. Spring MVC 借助视图解析器(ViewResolver)得到最终的视图对象(View),最终的视图可以是 JSP ,也可能是 Excel.JFreeChart  等各种表现形式的视图 三.应用 1)一个…
/** * SpringMVC除过在方法上传入原生的request和session外还能怎么样把数据带给页面 *  * 四大域: *  pageContext:${pageScope.msg }<br/> reqest:${requestScope.msg }<br/> session:${sessionScope.msg }-${sessionScope.haha}<br/> application:${applicationScope.msg }<br/>…
提交的数据可能有乱码: * 请求乱码: *      GET请求:改server.xml:在8080端口处URIEncoding="UTF-8" *      POST请求: *          在第一次获取请求参数之前设置 *          自己写一个filter:而SpringMVC有这个filter *          相当于request.setCharacterEncoding("UTF-8"); * * 响应乱码: *      response…
1.所有请求,前端控制器(DispatcherServlet)收到请求,调用doDispatch进行处理 2.根据HandlerMapping中保存的请求映射信息找到,处理当前请求的,处理器执行链(包含拦截器interceptor) getHandle(processedRequest);返回mappedHandler对象即处理器执行链(包含拦截器) 3.根据当前处理器找到他的HandlerAdapter(适配器) 4.拦截器的preHandle先执行 5.适配器执行目标方法,并返回ModelA…
一.DispathcherServlet结构分析 1).所有请求过来DispatcherServlet收到请求, 2).调用doDispatch()方法进行处理 1).getHandler():根据当前请求地址找到能处理这个请求的目标处理器类(处理器) 根据当前请求在HandlerMapping中找到这个请求的映射信息,获取到目标处理器类 2).getHandlerAdapter():根据当前处理器类获取到能执行这个处理器方法的适配器: 根据当前处理器类,找到当前类的HandlerAdapter…
延续前篇内容. 开始之前,我们首先要准备以下12个jar文件:spring-aop-4.3.3.RELEASE.jarspring-beans-4.3.3.RELEASE.jarspring-context-4.3.3.RELEASE.jarspring-core-4.3.3.RELEASE.jarspring-expression-4.3.3.RELEASE.jarspring-web-4.3.3.RELEASE.jarspring-webmvc-4.3.3.RELEASE.jarthymel…
前言: 前面我已搭建过ssh框架(http://www.cnblogs.com/xrog/p/6359706.html),然而mybatis表示不服啊. Mybatis:"我抗议!", Hibernate:"不服便战!" 我们先看下对战双方阵势: Hiberate    VS Mybatis 第一回合:开发速度 刷图难度:Hibernate前期升级需要大量经验,所以你想玩转Hibernate,得多打打小怪,看看攻略什么的. Mybatis相对简单许多,只要MySQL…
前言: 最近闲的蛋疼,搭个框架写成博客记录下来,拉通一下之前所学知识,顺带装一下逼. 话不多说,我们直接步入正题. 准备工作: 1/ IntelliJIDEA的安装配置:jdk/tomcat等..(本人使用的是IntelliJIDEA) 2/ 使用IntelliJIDEA创建一个web app项目. 导包 第一步,导包,本人的pom.xml配置文件如下(都写有说明的哈): <project xmlns="http://maven.apache.org/POM/4.0.0" xml…
一.WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象(每个web应用程序唯一),它代表当前web应用web容器提供其一个全局的上下文环境,其为后面的spring IoC容器提供宿主环境: 二.读取web.xml 服务器软件或容器如(tomcat)加载项目中的web.xml文件,通过其中的各种配置来启动项目,只有其中配置的各项均无误时,项目才能正确启动.web.xml有多项标签,在其加载的过程中顺序依次为:context-param >> listen…
首先,创建Maven Project,packaging为war,修改pom.xml. <properties> <!-- JDK版本 --> <java.version>1.8</java.version> </properties> <dependencies> <!-- web project基本配置 --> <dependency> <groupId>javax.servlet</gr…
SSM:Spring+SpringMVC+MyBatis 建立Java web项目 一.导包 1).Spring: [aop核心] com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar spring-aspects-4.0.0.RELEASE.jar [ioc核心] common…
一.概述 利用SpringMVC做一个CRUD(增删改查)符合Rest风格的: C:Create:创建 R:Retrieve:查询 U:Update:更新 D:Delete:删除 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 添加俩包,支持jstl标签(Java server pages standarded tag library,即JSP标准标签库) 二.效果 员工列表…
1.web应用启动从web.xml开始,首先创建一个全局的上下文(Context),名字叫ServletContext,可以理解为一间图书馆,或一个数据结构(如map,但是比map牛多了),整个结构类似图书馆-->书架-->计算机类书籍-->某一本书 2.listener监听器开始<!--spring的配置--><listener> <listener-class>org.springframework.web.context.ContextLoade…
SpringMVC是Spring提供给WEB应用的MVC框架,MVC框架一般来说由三部分组成: Model:模型层,一般由java bean完成,主要是进行数据库操作: View:视图层,用于前端展示,比如jsp.html等: Controller:控制层,链接前后端,处理用户请求,起着承前启后的作用: 早期的MVC模式中,Model由java bean扮演,View由jsp扮演,Controller由Servlet扮演,三者组成一个三角形的MVC框架,使得前后端有了一定的分离,而且控制器和模型…
<mvc:annotation-driven /> <mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的. <mvc:default-servlet-handler/> <mvc:default-servlet-handler/>使用默认的serv…
一.错误现象. 界面Post提交到Contorller的时候在Contorller中出现乱码. 二.问题解决. 在Web.xml下加入以下代码就可以解决. <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <…
SpringBoot默认使用Tomcat作为嵌入式的Servlet容器 问题? 一.如何定制和修改Servlet容器的相关配置 1.方法1修改和server有关的配置(ServerProperties[也是EmbeddedServletContainerCustomizer]) server.port=8081 server.context‐path=/crud server.tomcat.uri‐encoding=UTF‐8 //通用的Servlet容器设置 server.xxx //Tomc…
WebMvcAutoConfiguration的内部类 WebMvcAutoConfigurationAdapter 其中ResourceProperties点进去 其中addResourceHandlers方法 规定了静态资源(jQuery.js/html)的引用位置 WebMvcAuotConfiguration: @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.r…
配置文件到底能写什么?怎么写?自动配置原理: 配置文件能配置的属性参照 一.自动配置原理: 1.1.SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 1.2.@EnableAutoConfiguration作用: 点进去找到 点进去找到 点进EnableAutoConfigurationImportSelector父类 利用EnableAutoConfigurationImportSelector给容器中导入一些组件? 可以查看selec…
微信公众号授权给开放平台 公众号授权给第三方平台的技术实现流程比较简单 这个步骤遗漏了开头获取第三方平台自己的accessToken 先说下流程 如何注册开放平台的第三方信息看截图 其他不说了,此文只说代码部分. 先获取第三方10分一次的ticket. using (var streamReader = new StreamReader(Request.InputStream)) { string stringInput = streamReader.ReadToEnd(); string sM…
一.配置数据源 1.1.jdbc版本 JDBC(.tomcat.jdbc.pool.DataSource作为数据源) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi…
starter: 一.这个场景需要使用到的依赖是什么? 二.如何编写自动配置 启动器只用来做依赖导入:(启动器模块是一个空 JAR 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库) 专门来写一个自动配置模块: 启动器依赖自动配置:别人只需要引入启动器(starter) 我们一般的的经验 @Configuration    //指定这个类是一个配置类 @ConditionalOnXXX    //在指定条件成立的情况下自动配置类生效 @AutoConfigureAfter   …
几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener 只需要放在ioc容器中的两个ApplicationRunner CommandLineRunner 启动流程: 一.创SpringApplication对象 二.运行run方法 三.事件监听机制 配置在META-INF/spring.factories ApplicationContextIniti…