SpringMVCDay01

先来一段最近java的复习内容

接口是要把方法的定义和实现区分开,在接口 中定义抽象方法,在子类 中实现方法

程序  是一段静态的代码,是应用软件执行的蓝本。进程   是程序一次动态执行的过程,对应从代码加载,执行到执行完毕的一个完整过程。   线程 是比进程更小的执行单位

通过接口可以实现不相关 子类   的相同方法

子类不能从父类继承 构造  方法

如子类构造方法体中没有显式调用父类构造方法,则系统在执行子类的构造方法时会______自动____(自动/显式)调用父类的____默认______构造方法(即无参的构造方法)

一个线程可以理解为由以下三个部分组成:(1)虚拟的___CPU______,专门用于执行该线程的任务;(2)代码:在程序中表现为特定的__方法_______;(3)数据:在程序中表现为__变量_______。

异常处理:

异常是特殊的运行错误对象,java语言有其特定的异常处理机制。java中引用异常和异常类来进行错误处理,通过面向对象的方法来处理异常

抛出异常:

生成异常对象

     在一个方法的运行过程中,如果发生异常,则这个方法会生成代表该异常的一个对象

把异常对象交给运行时系统

     产生异常对象的方法会把该异常对象交给运行时系统

处理异常

捕获异常

  运行时系统在方法的调用栈中查找,从生成异常的方法开始进行回溯,直到找到包含响应异常处理的方法为止  

异常类:

java的异常类都是  java.lang.Throwable类的子类

java的每一个异常类都包含了该运行错误的信息处理错误的方法

RuntimeException异常 可以通过恰当的编程去避免,Java不要求捕获这类异常

非RuntimeException异常 是由环境原因造成的异常,必须由程序进行处理,否则编译不能通过

Throwable类分为 Error类 Exception 

用户自定义的异常:由Exception类或其子类派生出来的类,用于处理与具体应用相关的异常

用户程序自定义的异常必须借助throw语句来定义何种情况下算是产生了对应的错误,并抛出这个异常类的对象

catch语句块:异常处理语句块,用来捕获和处理异常

多异常处理机制

           一个try块可能产生多种不同的异常,如果希望能采用不同的方法来处理,就需要使用多异常处理机制,即在try块后定义多个catch块,每个catch块用来接收和处理一种特定的异常对象

           当异常对象catch的参数类型相匹配时,直接跳转转到这个catch块

何为相匹配:

       异常对象与参数属于相同的异常类

       异常对象属于参数异常类的子类

       异常对象实现了参数所定义的接口

如果所有的catch块都不能与当前的异常对象相匹配,则说明当前方法不能处理这个异常对象,程序将返回到调用该方法的上层方法,以此类推,直到返回Java运行系统

finally语句

      不论在try代码块中是否发生了异常,finally块中的语句都会被执行

      finally语句块中经常要做一些资源清理工作,如闭关文件等。

      try语句块后至少要有一个catch语句块或一个finally语句块  finally语句块是可以没有的

接下来就是正片

SpringMVC简介

SpringMVC是一种基于Java实现MVC模型的轻量级Web框架

优点

         使用简单,开发便捷

         灵活性强

使用SpringMVC技术需要导入SpringMVC坐标Servlet坐标

<dependency>

          <groupId>javax.servlet</groupId>

          <artifactId>javax.servlet-api</artifactId>

          <version>3.1.0</version>

          <scope>provided</scope>

</dependency>

<dependency>

          <groupId>org.springframework</groupId>

          <artifactId>spring-webmvc</artifactId>

          <version>5.2.10RELEASE </version>

</dependency>

启动服务器这段代码是固定的

首先执行create.. 里的代码,创建web对象,同时 register加载了SpringMvcConfig,加载到哪,一定是ServletContext,因为它是web容器中最大的容器,执行@ComponentScan加载对应的bean,加载UserController,每个@RequestMapping的名称对应一个具体的方法

请求与响应

  团队多人开发,每人设置不同的请求路径,冲突问题如何解决-设置模块名作为请求路径前缀

@EnableWebMvc可以开启接收JSON格式的请求体

另外要加入坐标

<dependency>

         <groupId>com.fasterxml.jackson.core <groupId>

         <artifactId>jackson-databind</artifactId>

         <version></version>

</dependency>

处理JSON请求的步骤

1.添加json数据转换相关坐标

<dependency>

       <groupId>com.fasterxml.jackson.core</groupId>

       <artifactId>jackson-databind</artifactId>

        <version>2.9.0</version>

</dependency>

2.设置发送json请求体

3.开启自动转换json数据的支持

@EnableWebMvc

日期类型参数传递

日期类型数据基于系统不同格式也不尽相同

转化日期格式的注释 @DataTimeFormat(pattern="yyyy-MM-dd")

响应:

对于返回值,就是返回字符串,跳到字符串的页面

@ResponseBody 将返回值自动转为JSON

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值