当前位置: 首页 > news >正文

有哪些营销型网站深圳科源建设集团有限公司网站

有哪些营销型网站,深圳科源建设集团有限公司网站,污水管网建设,企业宣传片视频模板一. 拦截器实现HandlerInterceptor 接⼝ SpringMVC 中的 Interceptor 拦截器也是相当重要和相当有⽤的#xff0c;它的主要作⽤是拦截⽤户的请求并进⾏相应的处理。⽐如通过它来进⾏权限验证#xff0c;或者是来判断⽤户是否登陆等操作。对于 SpringMVC 拦截器的定义⽅式有两…一. 拦截器实现HandlerInterceptor 接⼝ SpringMVC 中的 Interceptor 拦截器也是相当重要和相当有⽤的它的主要作⽤是拦截⽤户的请求并进⾏相应的处理。⽐如通过它来进⾏权限验证或者是来判断⽤户是否登陆等操作。对于 SpringMVC 拦截器的定义⽅式有两种 实现接⼝org.springframework.web.servlet.HandlerInterceptor 继承适配器org.springframework.web.servlet.handler.HandlerInterceptorAdapter 1.拦截器实现HandlerInterceptor 接⼝ /**1. 2. 拦截器实现 HandlerInterceptor 接⼝ */public class MyInterceptor01 implements HandlerInterceptor {/**3. 在 ⽬标Handler(⽅法)执⾏前 执⾏ 4. 返回 true执⾏handler⽅法5. 返回 false阻⽌⽬标handler⽅法执⾏6. param request7. param response8. param handler9. return10. throws Exception*/Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(⽬标Handler执⾏前执⾏MyInterceptor01 -- preHandle⽅法...);/**11. 返回 true执⾏handler⽅法12. 返回 false阻⽌⽬标handler⽅法执⾏*/return true;}/**13. 在 ⽬标Handler(⽅法)执⾏后视图⽣成前 执⾏14. param request15. param response16. param handler17. param modelAndView18. throws Exception*/Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println(⽬标Handler执⾏后视图⽣成前执⾏MyInterceptor01 -- postHandle⽅法...);}/**19. 在 ⽬标Handler(⽅法)执⾏后视图⽣成后 执⾏20. param request21. param response22. param handler23. param ex24. throws Exception*/Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println(⽬标Handler执⾏后视图⽣成后执⾏MyInterceptor01 -- afterCompletion⽅法...);}}2.拦截器xml配置 mvc:interceptors!-定义在 mvc:interceptor 下⾯可以⾃定义需要拦截的请求如果有多个拦截器满⾜拦截处理的要求则依据配置的先后顺序来执⾏--mvc:interceptor!-- 通过 mvc:mapping 配置需要拦截的资源。⽀持通配符。可配置多个。 --mvc:mapping path/**/ !-- /**表示拦截所有的请求。 --!-- 通过 mvc:mapping 配置不需要被拦截的资源。⽀持通配符。可配置多个。 --mvc:exclude-mapping path/url/*/ !-- /url/*表示放⾏url路径下的请求。 --bean classcom.xxxx.springmvc.interceptor.MyInterceptor01//mvc:interceptor/mvc:interceptors二.继承 HandlerInterceptorAdapter 实际上最终还是 HandlerInterceptor 接⼝实现。 ⼦类实现类 /**1. 拦截器实现 2. 继承 HandlerInterceptorAdapter 适配器*/public class MyInterceptor02 extends HandlerInterceptorAdapter {/**3. 在 ⽬标Handler(⽅法)执⾏前 执⾏ 4. 返回 true执⾏handler⽅法 5. 返回 false阻⽌⽬标handler⽅法执⾏6. param request7. param response8. param handler9. return10. throws Exception*/Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(⽬标Handler执⾏前执⾏MyInterceptor02 -- preHandle⽅法...);/**11. 返回 true执⾏handler⽅法12. 返回 false阻⽌⽬标handler⽅法执⾏*/return true;}}拦截器xml配置 mvc:interceptorsmvc:interceptor!-- 拦截的资源 --mvc:mapping path/**/!-- 放⾏的资源 --mvc:exclude-mapping path/url/test01/mvc:exclude-mapping path/url/test02/bean classcom.xxxx.springmvc.interceptor.MyInterceptor02//mvc:interceptor/mvc:interceptors多个拦截器实现 mvc:interceptors!-拦截器链多个拦截器如果有多个拦截器满⾜拦截处理的要求则依据配置的先后顺序来执⾏先配置的拦截器的 preHandle ⽅法先执⾏先配置的拦截器的 postHandle、afterCompletion ⽅法后执⾏--mvc:interceptor!-- 拦截所有请求 --mvc:mapping path/** /bean classcom.xxxx.springmvc.interceptor.MyInterceptor01 //mvc:interceptormvc:interceptor!-- 拦截所有请求 -- mvc:mapping path/** /bean classcom.xxxx.springmvc.interceptor.MyInterceptor02 //mvc:interceptor/mvc:interceptors三. ⽂件上传 pom.xml⽂件修改 !-- 添加 commons-fileupload 依赖 --dependencygroupIdcommons-fileupload/groupIdartifactIdcommons-fileupload/artifactIdversion1.3.2/version/dependencyservlet-context.xml修改 !-- ⽂件上传 --bean idmultipartResolverclassorg.springframework.web.multipart.commons.CommonsMultipartResolver!-- 允许⽂件上传的最⼤尺⼨ --property namemaxUploadSizevalue104857600/value/property!-- 设置⽂件放⼊临时⽂件夹的最⼤⼤⼩限制。 此值是阈值低于此值则保存在内存中如⾼于此值则⽣成硬盘上的临时⽂件。--property namemaxInMemorySizevalue4096/value/property/bean四.RestFul URL Restful ⻛格的 API 是⼀种软件架构⻛格设计⻛格⽽不是标准只是提供了⼀组设计原则和约束条件。它主要⽤于客户端和服务器交互类的软件。基于这个⻛格设计的软件可以更简洁更有层次更易于实现缓存等机制。 在Restful ⻛格中⽤户请求的 url 使⽤同⼀个 url⽤请求⽅式getpostdeleteput…等⽅式对请求的处理⽅法进⾏区分这样可以在前后台分离式的开发中使得前端开发⼈员不会对请求的资源地址产⽣混淆和⼤量的检查⽅法名的麻烦形成⼀个统⼀的接⼝。 在 Restful ⻛格中现有规定如下 GETSELECT从服务器查询可以在服务器通过请求的参数区分查询的⽅式。 POSTCREATE在服务器端新建⼀个资源调⽤ insert 操作。 PUTUPDATE在服务器端更新资源调⽤ update 操作。 PATCHUPDATE在服务器端更新资源客户端提供改变的属性。(⽬前 jdk7 未实现tomcat7 不⽀持)。 DELETEDELETE从服务器端删除资源调⽤ delete 语句。 Get 请求配置 /*** restful -- get 请求执⾏查询操作 * param id* return*/GetMapping(account/{id})ResponseBodypublic Account queryAccountById(PathVariable Integer id){return accountService.selectById(id);}Delete 请求配置 /* restful--delete 请求 执⾏删除操作* param id* return*/ DeleteMapping(account/{id})ResponseBodypublic MapString,Object deleteAccount(PathVariable Integer id){int result accountService.delAccount(id);MapString,Object mapnew HashMapString,Object();if(result 1 ){ map.put(msg,success);map.put(code,200); } else {map.put(msg,error);map.put(code,500);}return map;}Post 请求配置 /* restful -- post 请求执⾏添加操作* return*/PostMapping(account)ResponseBodypublic MapString,Object saveAccount(RequestBody Account account){int result accountService.saveAccount(account);MapString,Object mapnew HashMapString,Object();if(result 1 ){ map.put(msg,success);map.put(code,200); } else {map.put(msg,error);map.put(code,500);}return map;}Put 请求配置 /* restful--put 请求执⾏更新操作* param id* param account* return*/PutMapping(account)ResponseBodypublic MapString,Object updateAccount(RequestBody Account account){int result accountService.updateAccount(account);MapString,Object mapnew HashMapString,Object();if(result 1 ){ map.put(msg,success);map.put(code,200); } else {map.put(msg,error);map.put(code,500);}return map;}五.全局异常统⼀处理 在 JavaEE 项⽬的开发中不管是对底层的数据库操作过程还是业务层的处理过程还是控制层的处理过程都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常系统的代码耦合度⾼⼯作量⼤且不好统⼀维护的⼯作量也很⼤。 SpringMVC 对于异常处理这块提供了⽀持通过 SpringMVC 提供的全局异常处理机制能够将所有类型的异常处理从各处理过程解耦出来既保证了相关处理过程的功能较单⼀也实现了异常信息的统⼀ 处理和维护。 全局异常实现⽅式 Spring MVC 处理异常有 3 种⽅式 使⽤ Spring MVC 提供的简单异常处理器 SimpleMappingExceptionResolver实现 Spring 的异常处理接⼝ HandlerExceptionResolver ⾃定义⾃⼰的异常处理器使⽤ ExceptionHandler 注解实现异常处理 全局异常处理⽅式⼀ 配置简单异常处理器!-- 配置全局异常统⼀处理的 Bean 简单异常处理器 --bean classorg.springframework.web.servlet.handler.SimpleMappingExceptionResolver!-- ⻚⾯在转发时出现异常设置默认的错误⻚⾯ error代表的是⼀个视图 --property namedefaultErrorView valueerror/property!-- 异常发⽣时设置异常的变量名 --property nameexceptionAttribute valueex/property/bean可以在处理异常的⻚⾯获取异常信息 使用 ${ex}使⽤⾃定义异常/*** ⾃定义异常参数异常 */public class ParamsException extends RuntimeException {private Integer code 300;private String msg 参数异常!;public ParamsException() {super(参数异常!);}public ParamsException(String msg) {super(msg);this.msg msg;}public ParamsException(Integer code) {super(参数异常!);this.code code;}使⽤ SimpleMappingExceptionResolver 进⾏异常处理具有集成简单、有良好的扩展性、对已有代码没有⼊侵性等优点但该⽅法仅能获取到异常信息若在出现异常时对需要获取除异常以外的数据的 情况不适⽤。 全局异常处理⽅式⼆(推荐) 实现 HandlerExceptionResolver 接⼝ /*** 全局异常统⼀处理 */Componentpublic class GlobalExceptionResolver implements HandlerExceptionResolver {Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, Exception ex) {ModelAndView mv new ModelAndView(error);mv.addObject(ex,默认错误信息);return mv;}}⾃定义异常处理 /*** 全局异常统⼀处理 */Componentpublic class GlobalExceptionResolver implements HandlerExceptionResolver {Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, Exception ex) {ModelAndView mv new ModelAndView(error);mv.addObject(ex,默认错误信息);// 判断是否是⾃定义异常 if (ex instanceof ParamsException) {mv.setViewName(params_error);ParamsException e (ParamsException) ex;mv.addObject(ex, e.getMsg());}if (ex instanceof BusinessException) {mv.setViewName(business_error);BusinessException e (BusinessException) ex;mv.addObject(ex, e.getMsg());}return mv;}} 使⽤实现 HandlerExceptionResolver 接⼝的异常处理器进⾏异常处理具有集成简单、有良好的扩展性、对已有代码没有⼊侵性等优点同时在异常处理时能获取导致出现异常的对象有利于提供更详细的异常处理信息。 全局异常处理⽅式三 ⻚⾯处理器继承 BaseController public class BaseController {ExceptionHandlerpublic String exc(HttpServletRequest request,HttpServletResponse response,Exception ex){request.setAttribute(ex, ex);if(ex instanceof ParamsException){return error_param;}if(ex instanceof BusinessException){return error_business;}return error;}}使⽤ ExceptionHandler 注解实现异常处理具有集成简单、有扩展性好只需要将要异常处理的 Controller 类继承于 BaseController 即可、不需要附加Spring 配置等优点但该⽅法对已有代码存在⼊侵性(需要修改已有代码使相关类继承于 BaseController)在异常处理时不能获取除异常以外的数据 未捕获异常的处理 对于 Unchecked Exception ⽽⾔由于代码不强制捕获往往被忽略如果运⾏期产⽣了Unchecked Exception⽽代码中⼜没有进⾏相应的捕获和处理则我们可能不得不⾯对尴尬的 404、 500……等服务器内部错误提示⻚⾯。此时需要⼀个全⾯⽽有效的异常处理机制。⽬前⼤多数服务器也都⽀持在 web.xml 中通过(Websphere/Weblogic)或者(Tomcat)节点配置特定异常情况的显示⻚⾯。修改 web.xml ⽂件增加以下内容 !-- 出错⻚⾯定义 --error-pageexception-typejava.lang.Throwable/exception-typelocation/500.jsp/location/error-pageerror-pageerror-code500/error-codelocation/500.jsp/location/error-pageerror-pageerror-code404/error-codelocation/404.jsp/location/error-page
http://www.w-s-a.com/news/162109/

相关文章:

  • 临海网站制作好了如何上线如果安装wordpress
  • 长沙 学校网站建设网站制作价格上海
  • 九江网站推广徽hyhyk1国家住房部和城乡建设部 网站首页
  • 阿克苏网站建设咨询动漫设计与制作属于什么大类
  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价
  • 哪个网站做中高端衣服建设自己网站的流程
  • 网站建设概况做网站的是怎么赚钱的
  • 网站发布信息的基本流程现在都不用dw做网站了吗
  • 赣州热门网站深圳龙岗做网站的公司
  • 中国最大的建站平台广告传媒公司取名
  • 深圳网站设计公司专业吗学动漫设计后悔死了
  • 企业网站形象建设网站开发入职转正申请书
  • 网站设计步骤济南建设网中标公告
  • 石佛营网站建设wordpress关健词
  • 您的网站空间即将过期建站 discuz
  • 上海简站商贸有限公司福州哪家专业网站设计制作最好
  • 博客网站开发流程苏州专业做网站的公司哪家好
  • 四川手机网站建设西安 网站 高端 公司
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版建筑工程知识零基础
  • 广州番禺网站公司v2017网站开发
  • 微信公众号怎么做微网站wordpress和dz
  • 西部数码网站管理助手 301福州搜索优化实力
  • 响应式网站介绍页面模板功能找不到
  • 公司网站如何seo自己做资讯网站
  • 天津网站建设软件开发招聘企业信用信息查询公示系统上海
  • 网站备案中做正品的网站
  • 网站建设0基础学起青海企业网站开发定制
  • 网站定制项目上海快速建站