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

企业进行网站建设的方式有( )大良网站设计

企业进行网站建设的方式有( ),大良网站设计,问答网站建设,爱射影院网站建设中1、拦截器#xff1a; 1、拦截器的配置: SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor !--配置拦截器--mvc:interceptors!--对所有的请求进行拦截--!--bean classcom.songzhishu.m…1、拦截器 1、拦截器的配置: SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor !--配置拦截器--mvc:interceptors!--对所有的请求进行拦截--!--bean classcom.songzhishu.mvc.interceptors.FirstInterceptor idfirstInterceptor/bean--!-- ref beanfirstInterceptor/ref--!--上面的是可以拦截所有的请求路径--mvc:interceptor!--拦截指定的路径 /* 是只拦截一层目录 而/** 是可以拦截所有的路径--mvc:mapping path/**/!--排除要拦截的路径(就是不拦截)--mvc:exclude-mapping path//!--指定拦截器--ref beanfirstInterceptor//mvc:interceptor/mvc:interceptors 2、拦截器中的三个抽象方法 preHandle控制器方法执行之前执行preHandle()其boolean类型的返回值表示是否拦截或放行返回true为放行即调用控制器方法返回false表示拦截即不调用控制器方法postHandle控制器方法执行之后执行postHandle()afterComplation处理完视图和模型数据渲染视图完毕之后执行afterComplation() Component public class FirstInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//在控制器之前执行System.out.println(前);/*返回值是true的话是拦截后放行 为false的话是不放行*/return HandlerInterceptor.super.preHandle(request, response, handler);}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println(后);//在控制器之后执行HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println(视图);//视图渲染后HandlerInterceptor.super.afterCompletion(request, response, handler, ex);} } 3、拦截器的执行顺序 !--测试拦截器的顺序--ref beanfirstInterceptor/ref beansecondInterceptor/ 若每个拦截器的preHandle()都返回true 此时多个拦截器的执行顺序和拦截器在SpringMVC的配置文件的配置顺序有关 preHandle()会按照配置的顺序执行而postHandle()和afterComplation()会按照配置的反序执行 若某个拦截器的preHandle()返回了false preHandle()返回false和它之前的拦截器的preHandle()都会执行postHandle()都不执行返回false的拦截器之前的拦截器的afterComplation()会执行 2、异常处理器 1、基于配置的异常处理器 SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口HandlerExceptionResolver HandlerExceptionResolver接口的实现类有DefaultHandlerExceptionResolver和SimpleMappingExceptionResolver SpringMVC提供了自定义的异常处理器SimpleMappingExceptionResolver使用方式 !--异常处理器--bean classorg.springframework.web.servlet.handler.SimpleMappingExceptionResolverproperty nameexceptionMappingsprops!--key表示处理器执行过程中出现的异常值表示出现指定异常时设置一个新的视图名称跳转到指定的页面--prop keyjava.lang.ArithmeticExceptionerror/prop/props/property!--将异常的信息共享在请求域中的键--property nameexceptionAttribute valueex/property/bean 测试 RequestMapping(value /testException)public String testException(){System.out.println(1/0);return success;} 自定义的异常会自动捕捉异常 2、基于注解的异常处理器 ControllerAdvice //将类标记成组件,进行扫描 其次就是异常捕获 public class ExceptionController {ExceptionHandler(value {ArithmeticException.class, NullPointerException.class})public String testEx(Exception exception, Model model){model.addAttribute(ex ,exception);return error;} } 3、注解配置SpringMVC 1、创建初始化类代替web.xml 在Servlet3.0环境中容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类如果找到的话就用它来配置Servlet容器。 Spring提供了这个接口的实现名为SpringServletContainerInitializer这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成。Spring3.2引入了一个便利的WebApplicationInitializer基础实现名为AbstractAnnotationConfigDispatcherServletInitializer当我们的类扩展了        AbstractAnnotationConfigDispatcherServletInitializer并将其部署到Servlet3.0容器的时候容器会自动发现它并用它来配置Servlet上下文。 public class WebInit extends AbstractAnnotationConfigDispatcherServletInitializer {/*** 指定spring的配置类* return*/Overrideprotected Class?[] getRootConfigClasses() {return new Class[]{SpringConfig.class};}/*** 指定SpringMVC的配置类* return*/Overrideprotected Class?[] getServletConfigClasses() {return new Class[]{WebConfig.class};}/*** 指定DispatcherServlet的映射规则即url-pattern* return*/Overrideprotected String[] getServletMappings() {return new String[]{/};}/*** 添加过滤器* return*/Overrideprotected Filter[] getServletFilters() {CharacterEncodingFilter encodingFilter new CharacterEncodingFilter();encodingFilter.setEncoding(UTF-8);encodingFilter.setForceRequestEncoding(true);HiddenHttpMethodFilter hiddenHttpMethodFilter new HiddenHttpMethodFilter();return new Filter[]{encodingFilter, hiddenHttpMethodFilter};} } 2、创建SpringConfig配置类代替spring的配置文件 Configuration public class SpringConfig {//ssm整合之后spring的配置信息写在此类中 } 3、创建WebConfig配置类代替SpringMVC的配置文件 Configuration //扫描组件 ComponentScan(com.atguigu.mvc.controller) //开启MVC注解驱动 EnableWebMvc public class WebConfig implements WebMvcConfigurer {//使用默认的servlet处理静态资源Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}//配置文件上传解析器Beanpublic CommonsMultipartResolver multipartResolver(){return new CommonsMultipartResolver();}//配置拦截器Overridepublic void addInterceptors(InterceptorRegistry registry) {FirstInterceptor firstInterceptor new FirstInterceptor();registry.addInterceptor(firstInterceptor).addPathPatterns(/**);}//配置视图控制/*Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController(/).setViewName(index);}*///配置异常映射/*Overridepublic void configureHandlerExceptionResolvers(ListHandlerExceptionResolver resolvers) {SimpleMappingExceptionResolver exceptionResolver new SimpleMappingExceptionResolver();Properties prop new Properties();prop.setProperty(java.lang.ArithmeticException, error);//设置异常映射exceptionResolver.setExceptionMappings(prop);//设置共享异常信息的键exceptionResolver.setExceptionAttribute(ex);resolvers.add(exceptionResolver);}*///配置生成模板解析器Beanpublic ITemplateResolver templateResolver() {WebApplicationContext webApplicationContext ContextLoader.getCurrentWebApplicationContext();// ServletContextTemplateResolver需要一个ServletContext作为构造参数可通过WebApplicationContext 的方法获得ServletContextTemplateResolver templateResolver new ServletContextTemplateResolver(webApplicationContext.getServletContext());templateResolver.setPrefix(/WEB-INF/templates/);templateResolver.setSuffix(.html);templateResolver.setCharacterEncoding(UTF-8);templateResolver.setTemplateMode(TemplateMode.HTML);return templateResolver;}//生成模板引擎并为模板引擎注入模板解析器Beanpublic SpringTemplateEngine templateEngine(ITemplateResolver templateResolver) {SpringTemplateEngine templateEngine new SpringTemplateEngine();templateEngine.setTemplateResolver(templateResolver);return templateEngine;}//生成视图解析器并未解析器注入模板引擎Beanpublic ViewResolver viewResolver(SpringTemplateEngine templateEngine) {ThymeleafViewResolver viewResolver new ThymeleafViewResolver();viewResolver.setCharacterEncoding(UTF-8);viewResolver.setTemplateEngine(templateEngine);return viewResolver;}} 3、SpringMVC执行流程 1、SpringMVC常用组件 DispatcherServlet前端控制器不需要工程师开发由框架提供 作用统一处理请求和响应整个流程控制的中心由它调用其它组件处理用户的请求 HandlerMapping处理器映射器不需要工程师开发由框架提供 作用根据请求的url、method等信息查找Handler即控制器方法 Handler处理器需要工程师开发 作用在DispatcherServlet的控制下Handler对具体的用户请求进行处理 HandlerAdapter处理器适配器不需要工程师开发由框架提供 作用通过HandlerAdapter对处理器控制器方法进行执行 ViewResolver视图解析器不需要工程师开发由框架提供 作用进行视图解析得到相应的视图例如ThymeleafView、InternalResourceView、RedirectView View视图 作用将模型数据通过页面展示给用户
http://www.hkea.cn/news/14549553/

相关文章:

  • 网站开发哪里便宜网站红蓝色配色分析
  • dedecms 网站搬迁 模板路径错误无锡网站关键词推广
  • 网上购物都有哪些网站品牌营销策划公司排名
  • 网站关键词结构网站建设要经历哪些步骤
  • 本地主机做网站服务器自己做的网站怎么爬数据
  • 建设银行集团网站首页吉林智能网站建设制作
  • 网站备案需要具备什么网页商城设计商城网站设计案例
  • 打开山东城市建设职业学院网站工服定制公司
  • 教育培训推广网站模板特价流量网站
  • 做网站好的网络公司做的好的ppt下载网站有哪些
  • 郑州的网站建设公司哪家好网站自动弹窗代码
  • 山东省品牌专业群建设网站德州seo
  • 旅游网站建设策划方案企业为何要做网站
  • asp. net 做网站网站开发流程进度表
  • 台州建设工程信息网站领英定制通网站建设
  • 做网站源码流程手机做直播官方网站
  • 猪八戒网怎么做网站淄博网站的优化
  • 泾阳县住房和城乡建设局网站招商网站平台
  • 天津网站优化实战河北建设集团在哪个网站采购
  • 揭阳专业网站建设网络科技公司主要做什么
  • 雅安 网站建设html5网页制作代码大全
  • 泉州制作网站设计外贸系统软件有哪些
  • 互联网网站开发有哪些职位在线网页设计网站
  • 建设一个网站花多少钱不用买服务器可以做网站
  • 免费企业网站创建长沙网站建设 芙蓉区
  • 网站登录页一般做多大尺寸重置wordpress数据库密码
  • 建立网站赚多少钱建行app官方下载
  • 公司做二手网站的用意威海设计网站的
  • 北京网站建设 地址海淀中介网站怎么做
  • 高端型网站建设国产wordpress模板