• java SpringMvc笔记


    springMVC

       M:模型层,包含实体类,业务逻辑层,数据访问层;

       v: 视图层,html,javascript,vue等

      c:控制层,它是用来接收客户端的请求,并返回响应客户端的组件,Servelet组件

    SpringMVC

       1、轻量级,基于MVC的框架

        2、具备IOC和AOP

       3、完全基于注解开发

    client(客户端)-(http请求)-tomcat-control(携带数据的优化)

    3、基于注解的springmvc框架开发的步骤

       1、新建项目,选择webapp模板;

       2、修改目录,添加缺失的test,java.resources(两套),并修改目录属性

       3、修改pom.xml文件,添加springmvc的依赖,添加servelet的依赖;

       4、添加springmvc.xml的配置文件,指定包扫描,添加视图解析器;

    删除web.xml文件新建web.xml

    分析web请求

     web请求

     index.jsp请求-DIspatcherServlet(核心处理器)-springmvc的处理器

    DIspatcherServerlet必须在web.xml中注册

    5、@RequestMapping详细注解(用映射访问服务器访问的路径)

     1)注解加到方法上,是为了此方法注册一个可以访问的名称

    @Controller//交给spring 去创建对象

    public class MyDemo {

    @RequestMapping("/demo")

    public String demo(){

    return "main";//可以直接跳到jsp上

    }

    }

    页面跳转

    2)此注解可以加到类上,相当于包名(虚拟路径),区分不同类名相同action的名称

    @RequestMapping("/zar")

    public class MyDemo1 {

    3)区分get和post的请求

    6)5种数据提交的优化方式

      1、单个数据提交

    2、对象封装数据提交

    在提交请求,保证请求参数的实体类型与成员变量的名称保持一致,可以自动创建对象,自动类型转换,自动封装到对象中3WT4g ,自动提交数据

      通过封装类完成数据提交;

    3、动态占位符的提交

       仅限于超链接:一杠一直,一杠一大括号,

    4)映射名称不一致

       提交请求参数与action方法的形参名称不一致使用注解来解析@RequestParam

    5)、手工提交

    @RequestMapping("/five")

    public String five(HttpServletRequest request){

    String name= request.getParameter("2name");

    int age= Integer.parseInt(request.getParameter("2age"));

    System.out.println("姓名:" + name +"姓名:"+ age);

    return "main";

       

    7、中文乱码的解决方案

       (1)web.xml中配置中文编码过滤器 fileter解决post请求乱码

    encode

    org.springframework.web.filter.CharacterEncodingFilter

    encoding

    UTF-8

    forceRequestEncoding

    true

    forceResponseEncoding

    true

    encode

    /*

      

      8、action的返回值

          String:客户端资源的地址,自动拼接前缀和后缀,还可以自动屏蔽拼接字符串,可以返回指定的路径;

          object: 返回json格式对象,自动将对象或集合转为json,使用jacson工具进行转换,必须添加jackson依赖,一般用于ajax请求

         void:无返回值,用于ajax;

         基本数据类型用于ajax;

    9、完成ajax请求访问服务器,返回学生集合

     1)添加jacson依赖

    2)在webapp目录下新建js目录,添加jquery函数库

    3)在index.jsp上添加导入函数库

    4)在action添加注解@ResponseBody,用来处理ajax请求

    5)在sptringmvc.xml添加注解驱动,他用来解析@ResponseBody

    14、springMVC拦截器

       1、针对请求和响应进行的额外处理,在请求和响应的时候添加预处理,后处理和最终处理

       2拦截器的执行时机

         preHandle:在请求之前进行操作,预处理;

         postHandle:在请求处理之后,但结果还没有渲染前进行操作,可以改变相应

        aftercompletion:所有请求响应结束后善后工作,清理对象,关闭资源,善后处理

    拦截器实现的方式

       继承HandlerInterceptorAdapter

      实现 HandlerInterceptor接口

    拦截器实现的步骤

      1、改造登陆方法,在session中存储用户信息,用于进行权限验证

      2、开发拦截器的功能,实现handlerInterceptor接口,重写preHandle()方法;

      3、在springmvc.xml文件中注册拦截器

       

      

  • 相关阅读:
    SetUp
    [Python]搭建虚拟环境与Django项目的创建(Windows)
    Codeforces Round #835 (Div. 4) D. Challenging Valleys
    Apifox 可视化响应功能,让你的接口数据一目了然
    Linux 远程数据同步工具详解
    《数据结构》(四)线性表之双向带头循环链表的实现及详解
    12代酷睿笔记本有哪些不错?游匣G16体验大升级
    基于阿里云 Serverless 函数计算开发的疫情数据统计推送机器人
    C++并发编程
    Svelte框架结合SpreadJS实现表格协同文档
  • 原文地址:https://blog.csdn.net/weixin_55262935/article/details/138171161