03 2018 档案
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 校验有三种:前台页面校验(例如js和h5),后台校验,数据库校验 但是一般能不用数据库校验就不用数据库校验,因为性能损耗严重, 所以,我们用前台和后台俩种,可以说最好,绝大部分情况下,前台后台都要写,如果一个用户比较搞事,直接把它浏览器上的js给禁用掉了,那么
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 上篇博客利用initbinder做了局部的日期类型转换,但是兼容性不要,只支持yyyy-MM-dd这种,所以我们这里进行进一步的优化 其实话说回来了,要想限定格式做最稳定的日期类型转换,就是用日期控件,让用户选,你通过js生成日期数据,这可以省好多麻烦 案例开
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 之前博客的配置日期类型转换器,他是全局的,如果只是一个处理器中使用怎么办? 引出@InitBinder注解 案例: 1.在处理器中: 此处需要重点解释一波,这样就可以日期类型转换器变成局部的了,俩个方法执行顺序正如输出的那样一个是1,一个是2,@InitBin
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 例子很简易,要明白的是思路,话不多说,开讲 上篇博客不是说springmvc默认的日期转换格式是yyyy/MM/dd吗?如果我们要别的格式怎么办?(例如yyyyMMdd,yyyy-MM-dd,yyyy年MM月dd日)就用到了自定义日期类型转换器 案例: 1.自
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 本案例是上面的异常和日期类型转换结合的一个小小的Demo 案例开始 1.自定义处理器和处理方法: 2.自己的xml大配置文件: 3.修改web.xml中央调度器的上下文配置位置为上面那个xml 4.jsp页面: 4.1login.jsp 4.2success.
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 注解的方法实现异常解析,话不多说,直接搞起,和以前一样的习惯,和上篇博客一样的代码放后面,不一样的在前面 案例: 1.自定义处理器和处理方法 2.自己的xml大配置文件 3.修改web.xml的中央调度器的上下文配置路径 4.login.jsp 下面的内容与上
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 上篇博客相信大家也看到了,自定义异常,用了SimpleMappingExceptionResolver这个解析器,本次要讲的是自定义异常解析器: 自己定义的异常解析器,实现了HandlerExceptionResolver,一会再在xml中配置一道,我把需要改
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 自定义异常,大家都会,对吧,无非就是继承异常类等操作,很简单,我就不多扯皮了,但是在xml配置文件中有个不同的操作,我一会重点列出来 案例开始: 1.自定义异常类:UserageException 2.自定义异常类:UsernameException 3.定义
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 本篇博客要讲的是异常解析器,SimpleMappingExceptionResolver简单映射异常解析器 可以处理系统的异常 如果出现系统异常,跳转到某个页面的时候,就可以使用它 案例如下: 一,创建俩个jsp页面: success.jsp(处理方法想要跳转
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 转发和重定向大家都熟悉,都学到框架了,怎么能不了解转发和重定向呢? 如果有不熟悉的,可以去百度搜几篇博客去看看,绝对比我在这儿再多扯点好,所以我这儿要讲的重点就是springmvc的转发和重定向的写法 首先了解一个概念:携带数据的要用转发而不是重定向,重定向是
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类: 1.返回值为Object数值(例如1),2.返回值为Object的String类型(例如"我是不是中文呢"),3.返回值为Object的对象类型(例如自定义UserInfo类型对象),4.
阅读全文
摘要:摘自:https://www.cnblogs.com/moonreplace/archive/2012/10/09/2717136.html moonreplace这位大牛的 当我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的。而它们之间到底有什么不同呢?在什么场合下用什么方
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 处理器的方法我们之前做过,返回值为String的,返回值为ModelAndView的,我们这个讲的这个返回值void的做什么的? 答:最主要的是ajax的时候用的 案例如下: 俩个类:实体类UserInfo和处理器类: UserInfo类: 自定义的处理器类:
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 配置一道拦截器即可解决乱码 配置方式如下: 在web.xml中:
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 在处理方法中,参数写上之后,只要符合特定规则,就可以自动装配 首先 其次是:自定义的参数的自动装配: 案例如下:我的相同的配置文件就在下面不重复展示,不同的就展示一下: 第一种,零散参数自动装配: 在处理器中定义方法: 在自定义配置文件中: xml配置文件中只
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 先放一张图 很熟悉啊,之前就看过,我们之前已经把handlerMapping剖了个底朝天,顺着上次的进度,继续跟,把HandlerAdapter处理器适配器剖一下 它同样是由中央调度器DispatcherServlet调度到的,所以,还是这个类中找doDisp
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 访问方式可以指定,打个比方,你通过get方式进入登陆页面,通过post发送ajax数据库校验或者post提交用户名密码,最后进行转发 很平常的模式 利用访问模式的限制,可以只允许某种访问方式进行访问,加入说路径一样,也可以通过访问方式的不同区别使用不同的处理方
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 此处改了下标题,小论,为什么不说大话了呢?哎,质量不够啊,通配符篇提取不出更多可以讲的滔滔不绝的套路 通配符,好熟悉啊?这里的通配符怎么用 首先: *这个一般代表0~多次,不难理解吧? 接上篇内容来 1.当访问的路径所对应的方法名想以固定的形式结尾 2.当访问
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 注解的基础我不再多啰嗦,百度一搜很多,很详细啊,我就讲一下SpringMVC中的注解入门 通过注解的方式定义一个处理器,它的命名空间,以及他们的方法访问路径, @Contorller这个可以让一个普通类不用继承,不用实现任何东西就可以变成处理器, 简单来说@C
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 还记得上篇博客提出来的问题吗? BeanNameViewResolver视图解析器每使用一道视图,就得手工配置一道,麻烦啊,最重要的一点,如果视图多了,你这个核心的xml配置文件还怎么看?又乱又长 所以XmlViewResolver这个视图解析器,就是来car
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 视图解析器,这个很熟悉啊,之间就用过,就是可以简写/和.jsp的InternalResourceViewResolver 我这次书写的BeanNameViewResolver就是另外一种视图解析器,他有优点,也有缺点,优点可以访问项目外部的网页,并且灵活性很好
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 或许曾经的我们也见过一种方式http://localhost:8080/项目名/后台servlet?actionName=login&uname=admin&upwd=123 这种方式调度servlet并且传参数,这里我要表达什么呢?就是?后面可以拼接内容,
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 上次的以继承MultiActionController可以实现一个处理器中多个处理方法,但是局限出来了,他们的url访问地址只能是与方法名称相同的,因为他默认的方法名称解析器是InternalPathMethodNameResolver 如果我们想为了程序的安
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 MutiActionController类,多行动处理器,简单来说,就是可以一个处理器中有多个处理方法,分支 实现的原理可以解释一波:就是因为这个类中有InternalPathMethodNameResolver这个方法名字解析器,他的作用就是通过urlpat
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 AbstractController实现了一些特殊功能,如继承了WebContentGenerator缓存控制功能,并提供了可选的会话的串行化访问功能。而且提供了handleRequestInternal方法,因此我们应该在具体的控制器类中实现handleRe
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping BeanNameUrlHandlerMapping属于springmvc默认的处理器映射器,配不配这个都可以 因为它在springmvc的配置文件已经配置过了
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 按照之前的那种方式一路走下来,或许你没发觉有问题,只是你没有使用到而已 css,js,图片等无法正常使用怎么办,页面无法展示怎么办? 一般情况下,我们的web.xml中是这么配置的 看到此出url-pattern配置的值了吧,是/,问题也就出现在这,怎么办?看
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 视图解析器 默认就有配置,但是默认的在实际使用过程中有很多不方便的地方,所以我们配置一道视图解析器 在自己的配置文件xml中,配一个bean节点 在自定义的处理器中就可以省略/和.jsp的写法
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 先从概念理解,从中央调度器,携带参数request,调度到HandleMapping处理器映射器,处理器映射器返回处理器执行链给中央调度器 我从底层走一遍,印证这个概念: 1.都说是中央调度器的,所以先找到中央调度器DispatcherServlet 2.从他
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 上次的图也不全,这次的图也不是完整版,但是多了一个拦截器,我觉得挺有意思的,我就放上来了 他Handler IntercePtors 可以做增强,例如日志记录,表单校验,文件上传等
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 咱们这个案例做什么? 就是用处理器代替Servlet处理请求 开发步骤: 1.引入jar包 2.具体的开发流程 此处标红的表示需要配置的,未标红的表示本身就有默认值,可以无需配置springmvc也能执行 3.准备一个index.jsp页面 4.创建一个类Fi
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 SpringMVC简介: SpringMVC也叫Spring Web mvc,属于表现层的框架。Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图: SpringMVC只是Spring的WEB模块中的一小部分 (
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 众所周知,框架Spring来整合别的框架,但是Mybatis出现的晚,Spring就没有给他提供支持,那怎么办呢?Mybatis说,我吃点亏,我给你提供整合的jar,所以那个整合的jar包就叫mabatis-spring。jar 由于SpringMVC和Spr
阅读全文
摘要:吾亦无他,唯手熟尔,谦卑若愚,好学若饥 股票买卖案例(我会用三种开启事物的方法 代理工厂bean版的,注解版的,aspectj xml版的) 简单的介绍一下这个小例子,就是俩个表,一个就是你的账户表,一张就是你的股票的表 一切从简,写的简单一点(你可以看成有很多不严谨的地方,只是一个Spring中的
阅读全文
摘要:事务 事务是什么? 我记得当初的百度百科上讲,事务是执行的最小逻辑单元,它们要么都执行,要么都不执行 (同生共死) 事务解决什么问题? 简单的提一个小例子,就转账,先把你钱扣掉了,但中途发生点不可抗拒的因素,结果没转过去,那么如果没有回滚,那么你就白白损失这钱,如果银行先给那个人转达了,但中途发生点
阅读全文
摘要:Spring自带一个ORM持久化框架JdbcTemplate,他可以说是jdbc的加强版,但是对最细微的控制肯定做不到像jdbc那么细,那么性能高,他的出现是为了让jdbc更加便于使用 下面我说一下我这篇博客要干嘛, 一,简单的JdbcTemplate做出来的案例 二,除了自带的Spring-jdb
阅读全文
摘要:aspectJ的xml版是开发中最常用的: 下面直接已案例入手,毕竟繁琐的日子不多了 案例:两个接口,俩个实现类,一个实现增强的普通类 ISomeService接口: SomeServiceImpl类,上方类的实现类: IBookService接口 BookServiceImpl类,上面那个接口的实
阅读全文
摘要:AspectJ AspectJ是一个面向切面的框架,它扩展了Java语言,定义了AOP 语法,能够在编译期提供代码的织入 @AspectJ是AspectJ 5新增的功能,使用JDK 5.0 注解技术和正规的AspectJ切点表达式语言描述切面 Spring通过集成AspectJ实现了以注解的方式定义
阅读全文
摘要:JoinPoint(连接点):所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点。 Pointcut(切入点):所谓切入点是指我们要对哪些JoinPoint进行拦截的定义。 Advice(通知/增强):所谓通知是指拦截到JoinPoint之后所
阅读全文
摘要:名称自动代理生成器:BeanNameAutoProxyCreator 为了更好的测试,我放了俩个接口,俩个实现类: ISomeService接口: 它的实现类:SomeServiceImpl IBookService接口: 它的实现类:BookServiceImpl 一个增强的 xml配置文件中:
阅读全文
摘要:默认自动代理DefaultAdvisorAutoProxyCreator 本处没有什么要讲的,放原代码 ISomeService接口: SomeServiceImpl类继承上面的那个接口: LoggerBefore类,做了前置增强 xml配置文件中 必须要有顾问,没有不可以,默认自动代理里面不用实现
阅读全文
摘要:RegexpMethodPointcutAdvisor:正则方法切入点顾问 核心: <property name="pattern" value=".*do.*"></property> 表示方法全名(包名,接口名,方法名) 运算符 名称 意义 . 点号 表示任意单个字符 + 加号 表示前一个字符出
阅读全文
摘要:advice 是通知advisor 是顾问 顾问(Advisor) 通知Advice是Spring提供的一种切面(Aspect)。但其功能过于简单,只能将切面织入到目标类的所有目标方法中,无法完成将切面织入到指定目标方法中。 顾问Advisor是Spring提供的另一种切面。其可以完成更为复杂的切面
阅读全文
摘要:说说那四种增强:前置增强,后置增强,环绕增强,异常增强 那什么是代理工厂bean呢? org.springframework.aop.framework.ProxyFactoryBean 就是这个东西,他可以实现对方法的增强 @No.1:前置增强: 需要前置增强的类SomeServiceImpl 前
阅读全文
摘要:何为动态代理,就不扯皮了,上一篇博客刚刚提到,那cglib动态代理又怎么写,我拿个和上个例子相似的案例来写 具体案例: 一个SomeServiceImpl接口 一个测试类,我直接在测试类中使用cglib动态代理 他的写法就如上所示,需要以上的注释所标明的步骤 值得一提的是MethodProxy这个东
阅读全文
摘要:JDK动态代理: 为何叫JDK动态代理呢? 所谓JDK,jdk是java开发工具包,它里面包含了一个动态代理的api 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 何为动态?
阅读全文
摘要:静态代理 java的设计模式的代理模式,就是静态代理 写在前面的话,静态代理的优点和缺点 优点:可以在不改变一个类的方法下,对这个类的方法进行增强 缺点:静态代理需要创建物理文件,在想实现多个静态代理的操作,就需要好多的物理文件,不太优良 实现案例: Subject接口:抽象主题的接口,有一个方法
阅读全文
摘要:注解: 说起注解,哇哦,每个人都或多或少的用到过 像什么@Overried,@Test,@Param等等之前就早已熟悉的注解,现在要用注解实现di的注入 注解的本质是什么?就是一个接口,他里面的参数是什么呢?就是这个接口里面的方法,so,我们怎么做? 案例如下: 基于注解的jar包就不用说了,按照之
阅读全文
摘要:di的注入上次讲了一些,这次主要阐述域属性的自动注入 先讲byType方式 看名字就知道是根据类型进行自动注入 案例: 实体类:(俩个,一个学生类,一个汽车类) 在配置文件中: 单测方法: 单测后可以正常执行 但是问题来了:如果有一个类继承Car,并且在spring的配置文件中配置了他的bean,那
阅读全文
摘要:本文从 纯洁的微笑的博客 转载 原地址:http://www.ityouknow.com/jvm.html 类的加载机制 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装
阅读全文
摘要:一. 什么是单例模式 因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。 二. 单例模式的特点 1. 单例模式只能有一个实例。 2. 单例类必须创建自己的唯一实例。 3. 单例类必须向其他对象提供这一实例。 三. 单例模式VS静态类 在知道了什么是
阅读全文
摘要:Spring的bean是单例的 它在Spring容器初始化的时候创建对象 可以修改为多例,在此bean节点中添加一个属性,scope="prototype" 例如<bean id="xxx" class="全类名" scope="prototype"></bean> 然后多次getbean操作,会获
阅读全文
摘要:DI和IOC相比,DI更偏向于实现 DI的set方式注入在前面入门案例里有写,所以此处不多啰嗦,直接开搞,先说构造注入和P命名注入 构造方式,理所当然要有带参构造,这儿值得注意的是,你最好再补全一个无参构造,因为你写了带参构造,系统就不再会为你默认补全一个无参构造了,当你在不经意或者不知情的情况下被
阅读全文
摘要:AOP:面向切面编程 AOP的主要作用:是为了程序员更好的关注"业务",专心"做事" 加上双引号的意思:所谓业务,是指他的核心,各行业中需要处理的核心事务,核心啊 像日志的记录,事务的管理,权限分配等这些交叉业务,同一个项目中使用多次,直接提取出来成为公共的比较好,再用面向切面的方式,进行代码的编辑
阅读全文
摘要:DI:依赖注入 第一个DEMO:域属性注入 java类:(Car类和Stu类,学生有一辆小汽车) 配置xml中 测试类 第二个Demo:打印机案例 先把架构放上来 把里面每个类中的代码(code) 放上来 配置文件中: 单测方法
阅读全文
摘要:Spring 提起Spring,就会想到企业级框架这个词 企业级系统: 1.大规模:用户数量多,数据规模庞大,数据众多 2.性能和安全性要求更高 3.业务复杂 4.灵活应变 我觉得先了解一下Spring的地位和他的作者比较好 Spring:java中的核心框架,没有它就没有现在的java的地位,如果
阅读全文
浙公网安备 33010602011771号