一、DispatcherServlet配置
web.Xml加入已下配置:
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation /WEB-INF/springmvc-servlet.xml
1 springmvc
/
① 指明了配置文件的文件名,不使用默认配置文件名,而使用springmvc-servlet.xml 配置文件。
其中**.xml 这里可以使用多种写法
1、不写,使用默认值:/WEB-INF/-servlet.xml
2、/WEB-INF/classes/springMVC.xml
3、classpath*:springMVC-mvc.xml
4、多个值用逗号分隔
② Servlet拦截匹配规则可以自已定义,Servlet拦截哪种URL合适?
当映射为@RequestMapping(“/user/add”)时:
1、拦截*.do,例如:/user/add.do,弊端:所有的url都要以.do结尾。不会影响访问静态文件。
2、拦截/app/*,例如:/app/user/add,弊端:请求的url都要包含/app,@RequestMapping(“/user/add”)中不须要包含/app。
3、拦截/,例如:/user/add,弊端:对jpg,js,css静态文件的访问也被拦截不能正常显示。后面有解决办法。
4、拦截/*,可以走到Action中,但转发到jsp时再次被拦截,不能访问到jsp。所以一般不使用,切记注意!!!
二、springmvc-servlet.xml配置
三、字符过滤器配置
encoding org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8
encoding /*
get方式中文乱码解决
修改tomcat 服务器get请求编码
四、异常处理配置
Spring MVC处理异常有3种方式:
(1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver;
(2)实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器;
(3)使用@ExceptionHandler注解实现异常处理;
以下演示@ExceptionHandler注解方式
1.创建BaseController
/* 基于@ExceptionHandler异常处理 / @ExceptionHandler public String exp(HttpServletRequest request, Exception ex) { request.setAttribute(“ex”, ex); // 根据不同错误转向不同页面 if(ex instanceof NullPointerException) { return “null_error”; }else { return “error”; } }
- 然后需要修改现有代码,使所有需要异常处理的Controller都继承该类,如下所示:
public class TestController extends BaseController
五、支持Ajax及json配置
注解@ResponseBody //返回context body
六、国际化配置
com.rshz.perm.i18n.message.public_error com.rshz.perm.i18n.message.login_error
七、文件上传配置
八、时间格式化
@InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd”); dateFormat.setLenient(false); binder.registerCustomEditor(Date.class, new CustomDateEditor( dateFormat, true));// true:允许输入空值,false:不能为空值 }
九、解决post提交,如果没有找到路径报405问题
GET HEAD POST
十、 拦截器配置
/login