Spring MVC之HandlerInterceptor拦截器

  拦截器是 Web 项目很重要和常用的功能,如对用户权限验证,判断用户是否已登录等。

  SpringMVC 中的拦截器通过实现HanderInterceptor接口来完成,或继承抽象类HandlerInterceptorAdapter,重写里面的方法来完成。

阅读更多

Spring MVC使用MockMvc和Junit进行单元测试

  声明一点:对于软件质量的保证,单元测试真的非常有必要,在CMMI-5标准也是对单元测试有明确要求的。

  有的公司的对开发要求严谨的话,开发流程可能执行的是测试驱动开发(TDD),即根据拿到需求,开发人员先写预期单元测试用例,再根据满足测试用例的要求来开发业务代码。

  在不启动项目的情况下,对Spring Web项目,需要一些Servlet相关的模拟对象,比如:MockMvc,MockHttpSession,MockHttpServletRequest,MockHttpServletResponse等,还需要WebAppConfiguration

阅读更多

Spring MVC使用MockMvc和Junit进行单元测试

  声明一点:对于软件质量的保证,单元测试真的非常有必要,在CMMI-5标准也是对单元测试有明确要求的。

  有的公司的对开发要求严谨的话,开发流程可能执行的是测试驱动开发(TDD),即根据拿到需求,开发人员先写预期单元测试用例,再根据满足测试用例的要求来开发业务代码。

  在不启动项目的情况下,对Spring Web项目,需要一些Servlet相关的模拟对象,比如:MockMvc,MockHttpSession,MockHttpServletRequest,MockHttpServletResponse等,还需要WebAppConfiguration

阅读更多

错误:jsp放在src/main/resources目录,SpringMVC反回视图正确,但浏览器报404

问题描述

  1. 个人学习临时搭的一个Maven管理的SpringMVC项目,试着把jsp文件放在src/main/resources/jsp/目录,Maven配置的是Tomcat7服务器插件,通过Maven build运行后,访问该项目,浏览器报404错误,但 SpringMVC没有报错,打印显示的映射路径和转发到的物理视图都无异常。 
  2. 项目打成war包布署到Tomcat7 和 8服务器上运行,浏览器或以正常访问到src/main/resources/jsp/目录下的jsp文件。
  3. jsp移到webapp/WEB-INF/jsp/目录下,修改视图的物理路径的前辍到该目录,使用Maven build运行,浏览器访问正常。

因素排除:

  1. 视图路径的前后辍配置确定正常。
  2. Controller层的映射路径正确。
  3. 浏览器访问的路径正确。

此问题还未找到具体原因,未能解决

阅读更多

Spring MVC报错:java.lang.NullPointerException at org.apache.jsp.WEB_002dINF.jsp.index_jsp._jspInit(index_jsp.java:31)

  报错:访问Maven管理的SpringMVC 项目jsp页面,错误:at org.apache.jsp.WEB_002dINF.jsp.index_jsp._jspInit(index_jsp.java:31)

  原因:是项目的servlet-apijsp-api两个jar包与Tomcat自带的包冲突导致。

  解决:在pom.xml文件,将这两个jar包添加<scope>provided</scope>控制,只在编译和测试有效。

阅读更多

Spring(二):Spring AOP 理解与应用

  AOP:面向切面编程,是一种对OOP思想再增强的编程思想。它是使用动态代理的技术对一些公共的代码进行统一管理,在需要增强时,使用动态代理对业务方法进行增强。

  AOP 适合那些具有横切逻辑的应用场合,如性能监控,访问控制,事务管理及日志记录,通过横向抽取机制为这类无法通过纵向继承体系进行抽象的重复性代码提供解决方案。

  AOP 将分散在各个业务逻辑代码中的相同代码通过横向切割的方式抽取到一个独立的模块中。

阅读更多