自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(8):总结和对以后版本的展望

当写完这个小小的MVC后,是否有springMVC也不过如此的感觉?在这里不得不泼一盆冷水,这只是你的错觉。同样用古典吉他谈爱的罗曼史,有些人只能弹弹主旋律,而另一些人却会用上轮指。各自的效果如何,自然不言而喻。如果看完了这整个系列,可能还会记得我在其中一篇中留下的疑问:HandlerMapping和HandlerAdpter为什么是“一些”?笑话,他们是接口,可以有很多个实现类,可是有没

2015-03-11 13:44:38 579

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(7):执行,调度和渲染(二)

了解了springMVC的执行调度过程,接下来自然是敲代码了,这里我维护了一个matchObstruct,用来存放匹配到的拦截器。整个处理过程在doService方法中private void doService(HttpServletRequest req, HttpServletResponse resp) { Handler h = getHandler(req, resp);

2015-03-11 13:24:53 427

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(6):执行,调度和渲染(一)

数据初始化结束后,我们需要考虑对请求如何处理。回到springMVC源代码中,找到方法doService(),七七八八的一大片,想来想去核心的可能只有这句了:try { doDispatch(request, response); }我们再来看看doDispatch(),又是一大片:protected void doDispatch(HttpServletRequest re

2015-03-11 13:03:22 514

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(5):数据初始化(四)

DispatcherServlet中的数据初始化:重写init():@Override public void init() throws ServletException { logger.info("=====================MyDispatcherServlet init====================="); logger.info("======

2015-03-10 19:39:38 613

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(4):数据初始化(三)

接下来编写封装类:1.对拦截器的封装:package com.wbh.mymvc.servlet;import javax.servlet.http.HttpServletRequest;import com.wbh.mymvc.interceptor.BaseInterceptor;/** * 对拦截器进行封装 * @author wbh */public class

2015-03-10 19:31:47 434

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(3):数据初始化(二)

前文已经对SpringMVC中DispatcherServlet数据初始化过程有了一定的认识,下面开始编码:1.设计自定义注解@MyController:package com.wbh.mymvc.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;imp

2015-03-10 19:23:33 382

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(2):数据初始化(一)

按住ctrl再单击DispatcherServlet,等到MyEclipse下载完源代码,这是一个一千多行代码的大类,我们没有看到Init(),没有看到doGet(),和doPost()。且耐下心来,细细琢磨。首先,这个Sevlet并不直接继承自HttpServlet,而是继承自FrameworkServlet类。不必惊讶这个类最终还是集成自HttpServlet,一些需要重写的方法也在一层层

2015-03-10 15:38:13 420

原创 写出一个你自己的MVC框架-基于对springMVC源码实现和理解(1):入口所在

在开始之前,我们必须对springMVC有一个明确的认识。一个软件项目的完成少不了各种设计文档,对整个项目进行一个规划,而在这里,我们写自己的MVC只是为了对springMVC有更深的认识,我们不妨跟随自己对springMVC的剖析,一步步写自己的MVC。众所周知,无论什么MVC框架都无外乎对servlet的封装。自然,我们对springMVC的了解需要从web.xml开始。springMVC对一

2015-03-10 13:56:05 864

原创 SpringMVC Controller内部跳转如何被拦截器拦截

以下讨论在某个拦截器a能拦截所有url的前提下1.x使用直接调用另一个方法y,a将只拦截x(一次).2.x使用this.request.getServletContext().getRequestDispatcher("/test").forward(request, response);方式跳转,a将拦截x和/test(两次)。3.x使用redirect方式跳转,a也将拦截两

2015-03-08 11:02:47 965

原创 在SpringMVC使用带参数重定向

项目中带参数重定向的情况时有发生,众所周知model在生命周期和request一致,在重定向过程中model已经消亡,内部携带的数据也将丢失。若使用session保存数据,程序员在使用数据后还得手工清除数据,也可以使用拼接URL的方式传递数据,这样的方式显然不是最合适的。Spring的开发者显然也想到了这一点,spring在3.0.1之后的版本 提供了一个类RedirectAttributes,它

2015-03-05 21:50:05 2540

原创 Spring4.1.5 和 hibernate 4.3.7 整合出现MemorySafeUndeclaredThrowableStrategy,ClassNotFound错误

最新版本的Spring4.1.5 和 hibernate 4.3.7 整合时可能出现MemorySafeUndeclaredThrowableStrategy,ClassNotFound错误。原因是Spring-core包下不再包含类MemorySafeUndeclaredThrowableStrategy。将Spring版本降低至4.0.5即可解决

2015-03-05 14:55:09 2058

原创 在SpringMVC中使用校验框架

这里使用hibernate提供的校验器,maven pom文件代码如下: org.hibernate hibernate-validator 5.1.3.Final在Spring配置文件中进行如下配置:<bean id="validator" class="org.springframework.validation.beanvalidation.L

2015-03-04 20:46:24 393

原创 Redis整合Spring

redis整合spring

2015-03-03 21:35:47 950

原创 java使用自定义注解

java自定义注解

2015-03-03 21:07:45 539

原创 BaseDaoImpl中使用泛型来反向获得当前的实体类

BaseDaoImpl里使用泛型来反向获得当前的实体类

2015-03-03 20:37:35 402

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除