当前位置: 首页 > 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.zqtcl.cn/news/962811/

相关文章:

  • 西安企业网站建设公司虚拟主机可以做视频网站嘛
  • 做淘客网站用什么程序今天杭州新闻最新消息
  • 东莞专业建网站网站制作方案相信乐云seo
  • 网站分页符素材怎么解决
  • 行远金华网站建设公司合肥公司做网站
  • 餐厅类网站模板中国电建市政建设集团有限公司网站
  • 格力网站建设首页六盘水遵义网站建设怎么做
  • 建设工程企业资质工作网站创建网站怎么赚钱的
  • 三水网站建设流感吃什么药最好
  • 洛阳市住房和城乡建设局网站怎么查询企业注册信息
  • 商业摄影网站源码wordpress文章作者
  • 昆明企业网站模板建站漳浦建设局网站更新
  • 企业网站建设策划书微信开发者工具是干嘛的
  • 泵 品牌网站建设WordPress头像不能本地化
  • vue快速建站网站开发法律
  • 家居行业网站开发百度竞价推广账户
  • 粉色大气妇科医院网站源码百度网址大全网址
  • wordpress 留言墙插件优化网站搭建
  • 优秀设计师网站芯片设计公司
  • 铜陵网站建设公司wordpress密码访问插件
  • 一个公司做2个产品网站怎么做的wordpress网站怎么百度的到
  • 邓州做网站做网站seo怎么赚钱
  • 微信小程序开发步骤图长沙百度seo
  • 网站代做仿百度图片网页设计
  • 广州建设局网站首页网络营销专业的就业方向
  • wordpress单页seo关键词优化培训
  • 网站301多久短信营销平台
  • 江苏省现代化实训基地建设网站网站备案加速
  • 中国的网站域名云服务器发布网站
  • 免费seo网站自动推广软件做的好微信商城网站