原因: spring监测到是.html来访问,它就会认为需要返回的是html页面.如果返回的不是html,会报406错误 解决: 提供多种后缀拦截方式,工程里web.xml配置 分析: HTTP 406错误是HTTP协议状态码的一种,表示无法使用请求的内容特性来响应请求的网页,也就是返回的不是想要的. 之所以用伪静态化.html后缀是为了增加SEO权重,可以返回页面以.html后缀,查询数据.生成数据等操作可用别的后缀替代 还有一种解决方法,我在web.xml加两种拦截后缀名,.html,.sh…
*.do :只拦截.do文件 / :拦截除jsp页面的所有请求,包括restful类型的url /*  :拦截所有请求包括jsp页面…
一.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/…
1.访问接口返回异常 已经连续踩了两次这个坑了.所以记下来了.方便下次搜索! 项目在window下运行正常,无任何异常! 但是部署到liunx环境下的服务器上就有问题 访问静态页面毫无问题,一旦涉及到返回json格式数据的接口时就会出现问题: 最后得出是返回json格式数据的注解@ResponseBody有问题: 解决办法: Gson gson = new Gson(); return gson.toJson(pd);. 提前转为json格式的字符串   :再将返回类型改为字符串   :  问题…
1.拦截"/",可以实现现在很流行的REST风格.很多互联网类型的应用很喜欢这种风格的URL.为了实现REST风格,拦截除了jsp的所有. 2.拦截/*,拦截所有访问,会导致404错误,即访问不到jsp.…
1.DispatcherServlet作用说明 DispatcherServlet提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处.DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下: 1.文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析: 2.通过HandlerMapping,将请求映射到处理器(返回一个Han…
    SpringMVC是Spring中的模块,它实现了mvc设计模式的web框架,首先用户发出请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handler,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handler进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染并把数据装入到request域…
SpringMVC(6)异常处理及拦截器 1.异常处理 1.1.异常处理的思路 ​ 系统中异常包括两类:预期异常和运行时异常 RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. ​ 系统的 dao. service. controller 出现都通过 throws Exception 向上抛出,最后由 springmvc 前端控制器交由异常处理器进行异常处理,如下图 : 1.2.SpringMVC的异常处理 1.自定义…
1.业务场景:使用vuejs+springMVC+spring框架搭建一个mis系统,集成SSO单点登录: 2.遇到问题:使用interceptor拦截器配置SSO单点登录,直接敲域名,或者ip+端口,不能被拦截: 3.问题解决:将SSO单点登录改写成Filter过滤器,成功拦截地址栏所有请求: 4.总结: a.springMVC的拦截器,只能拦截地址栏访问对controller的请求,无论你拦截的地址配置到天上,它只拦截对controller的请求: b.springMVC的过滤器,这个会根据…
在使用SpringMVC时,都需要在web.xml中配置一个前端控制器DispatcherServlet 控制器是一个servlet,但这个路径配置就有很多种,之前都是以扩展名配置的路径,如*.do,然后再项目中就就*.do的路径进行访问. 但最近的项目遵循Restful风格,配置的路径如下 可以看到配置的路径为“/”,由于之前疑惑上网查,说是/*和/都是拦截所有请求,于是把这里的路径改成/*,之后项目就出先了404资源找不到的问题. 通过后来查阅资料,以自己的理解  /* 和 / 的区别如下…