• springMVC学习


    springMVC_ajax
    1. 两种方式交互方式,
      一种是发送一个请求数据,返回一个响应的标识数据
      一种是获取一个集合的JSON格式数据
    1. 需导入新的jar包(jar包在备课/lib下面)
      jackson-annotations.jar
      jackson-core.jar
      jackson-databind.jar
    1. jquery-1.8.2.js 导入插件
    • 页面和控制器代码


    敲代码之前要配json转换器(jackson)
    配置json解析器

    <!-- 配置支持JSON格式的转换器 -->
    
    <bean id="jsonConverter"
    	class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
    
    <bean
    	class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    	<property name="messageConverters">
    		<list>
    			<ref bean="jsonConverter" />
    		</list>
    	</property>
    </bean>
    

    多模块开发

    不同于struts2的package里面进行包名的区分,是在controller上面加requestmapping进行区分


    springMVC_interceptor

    配置文件:

    boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler):在请求到达Handler之前,先执行这个前置处理方法。当该方法返回false时,请求直接返回,不会传递到链中下一个拦截器,更不会调用处理器链末端的Handler中,只有返回true时请求才向链中的下一个处理节点传递。

    void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView):在请求被HandlerAdapter执行后,执行这个后置处理方法。

    void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex):在响应已经被渲染后,执行该方法。

    注意点:
    执行的时候注意执行链条的顺序:
    >1. preHandleOne
    2. preHandleTwo
    3. postHanleTwo
    4. postHanleOne
    5. afterComletionTwo
    6. afterComletionOne

    拦截器的xml配置要在手册里面找, 且要慢慢找。

    < mvc:exclude-mapping/>设置不拦截的方法


    restful风格

    格式改成这样

    < url-pattern>/ 会匹配到/login这样的路径型url,不会匹配到模式为.jsp这样的后缀型url。即:.jsp不会进入spring的 DispatcherServlet类 。!但是js,css,image 这类的静态资源依旧会被拦截, 所以要进行放行

    • Alt text

    < url-pattern>/ 会匹配所有url:路径型的和后缀型的url(包括/login,.jsp,.js和.html等),会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报


    口述总结篇

    1.把集合转成一个js的对象数组
    	1)导入jar包
    	2)添加json的转换器
    	3)写方法,造数据
    		1)在方法上面加一个@ResponseBody
    2.标签
    	1)<mvc:resources>忽略静态资源
    		a)location:本地的路径
    		b)mapping:访问路径
    
    3.namesapce
    	1)@RequestMapping可以加到类上的
    
    4.拦截器
    	1)如何定义
    		a)要实现HandlerInterceptor
    			1)postHandle:视图解析器之前
    			1)afterCompletion:视图解析器之后
    			1)preHandle:调用Controller之前,返回true是放行
    	2)配置
    		1)<mvc:interceptors>
    			a)<mvc:interceptor>
    				1)<bean>:自定义拦截器的bean
    				2)<ref>:引向外面的bean
    				3)<mvc:mapping>:被拦截的路径
    				4)<mvc:exclude-mapping>:不被拦截的路径(写决定路径)
    	3)/*:只拦截一层
    	4)/**:可以拦截多层
    
  • 相关阅读:
    Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)
    Git 命令 操作
    vim常用快捷键
    离线数据分析流程介绍
    WebPack 简单使用
    React Native之React速学教程(下)
    puppet 部署 horizon server 所需的参数和部署逻辑
    jsp出现getOutputStream() has already been called for this response异常的原因和解决方法
    12款优秀的 JavaScript 日历和时间选择控件
    mysql 去重
  • 原文地址:https://www.cnblogs.com/jwlxtf/p/8065871.html
Copyright © 2020-2023  润新知