欢迎光临散文网 会员登陆 & 注册

Spring框架作业和对应讲义PPT,表单处理,视图解析器,映射处理器,注解【诗书画唱】

2021-05-07 14:15 作者:诗书画唱  | 我要投稿

内容导航

Spring MVC框架的PPT内容

1、SPRING框架_简介.ppt(Spring MVC部分)

2、SPRING框架_表单处理.ppt

3、SPRING框架_视图解析器.ppt

4、SPRING框架_映射处理器.ppt

5、SPRING框架_注解.ppt

作业和讲义


个人理解:Spring MVC(form表达提交,contrtoller框架等内容),Spring Core框架(aop等内容)等框架都是工具,和开发模式的作用等等差不多。


个人尝试的经验:在实体类中声明了多少个构造方法和别的类作为属性,就在配置文件要都对应的配置,少了一个配置都会报错

SPRING框架简介和构造器注入的作业

个人给出的代码答案1

applicationContext.xml中写bean等的配置,在实体类中声明了几个private等的属性,在bean中包裹的constructor-arg都要对应的有几对。

单词注释:ApplicationContext就是应用上下文的意思

applicationContext.xml中写bean等的配置



运行效果




Spring MVC框架的PPT内容 START

个人理解:Spring MVC(form表达提交,contrtoller框架等内容),Spring Core框架(aop等内容)等框架都是工具,和开发模式的作用等等差不多。


1、SPRING框架_简介.ppt(Spring MVC部分)

SPRINGMVC框架

简介

什么是SPRINGMVC

  Spring MVC 是一个模型 - 视图 - 控制器(MVC)的Web框架。它的核心类是一个servlet,叫中央前端控制器DispatcherServlet,它负责发送每个请求到合适的处理程序,使用视图来最终返回响应结果的概念。Spring MVC 是 Spring 产品组合的一部分,它享有 Spring IoC容器紧密结合Spring松耦合等特点,因此它有Spring的所有优点。

什么是SPRINGMVC

  

创建一个Hello world程序

在创建springmvc项目时,必须下载对应的spring4.0以上的版本,下载地址:

http://maven.springframework.org/release/org/springframework/spring/

导包

在javaweb项目中,将以下包拷贝到项目的lib目录下:

配置web.xml文件

打开web.xml文件,添加如下的代码:

添加springmvc的配置文件

在src目录下创建springmvc-servlet.xml文件。

创建HelloController类

在com.jy.controller包下创建一个java类。

创建index.jsp页面

在/WEB-INF/my/目录下创建index.jsp页面。

调用HelloController类

启动工程,打开浏览器,输入地址:

http://localhost:8080/springmvc/demo/test

web.xml文件和springmvc配置文件的关系(一)

  如果不想把springmvc的配置文件放在src目录下,也可以使用如下的方式进行配置:

  将springmvc-servlet.xml移到WEB-INF目录下,修改web.xml文件。

web.xml文件和springmvc配置文件的关系(二)

  也可以在web.xml文件中通过指定springmvc.xml的路径进行配置。


2、SPRING框架_表单处理.ppt



SPRINGMVC框架

表单处理

springmvc框架表单处理程序

  在工程中分别创建com.jy.bean.Student类和com.jy.controller.StudentController类。

创建页面

  在WEB-INF/my目录下创建stu_add.jsp页面。

创建跳转到stu_add页面的方法

  在StudentController类中添加如下的方法。

创建页面

  在WEB-INF/my目录下创建result.jsp页面。

运行项目

  在浏览器地址栏输入地址:

http://localhost:8080/springmvc/demo/toAdd,输入学生属性后点击提交按钮,观察后台打印结果。


3、SPRING框架_视图解析器.ppt


SPRINGMVC框架

视图解析器

视图View

  视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给客户。

视图解析器概述

  视图解析器的作用是将逻辑视图转为物理视图,所有的视图解析器都必须实现ViewResolver接口。 


   SpringMVC为逻辑视图名的解析提供了不同的策略,可以在Spring WEB上下文中配置一种或多种解析策略,并指定他们之间的先后顺序。每一种映射策略对应一个具体的视图解析器实现类。程序员可以选择一种视图解析器或混用多种视图解析器。可以通过order属性指定解析器的优先顺序,order越小优先级越高,SpringMVC会按视图解析器顺序的优先顺序对逻辑视图名进行解析,直到解析成功并返回视图对象,否则抛出ServletException异常。 

视图解析器类型

  视图解析器的作用是将逻辑视图转为物理视图,所有的视图解析器都必须实现ViewResolver接口。 


   

视图解析器InternalResourceViewResolver

  springmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器。springmvc里提供了多个视图解析器,InternalResourceViewResolver就是其中之一:

视图解析器InternalResourceViewResolver

order表示视图解析的优先级,数目越小优先级越大(即:0为优先级最高)。InternalResourceViewResolver在项目中的优先级必须设置为最低,也就是order要最大。不然它会阻碍其他视图解析器。当经过视图解析器1时,如果能解析就解析而且不会再继续往下。如果不能执行就返回null,这样下面的解析器才能继续处理。而对于IRVR视图解析器,不管能不能解析它都不会返回null。


使用mvc:view-controller不经控制器直接跳转到页面

  若希望直接响应通过SpringMVC渲染的页面,可以使用mvc:view-controller标签实现

视图解析器XmlViewResolver

  XmlViewResolver可以根据xml文件中定义的bean来解析视图名称。

   步骤一:在com.jy.controller包下创建ViewController类。

视图解析器XmlViewResolver

  步骤二:修改springmvc-servlet.xml,添加如下配置。

视图解析器XmlViewResolver

  步骤三:创建WEB-INF/views.xml文件。

视图解析器XmlViewResolver

  步骤四:导入jstl.jar包,同时创建WEB-INF/my/hello.jsp。


   



视图解析器ResourceBundleViewResolver

   ResourceBundleViewResolver使用属性文件(即properties文件)中定义的视图bean来解析视图名称。

   步骤一:在con.jy.controller包下创建ResController类。

   



视图解析器ResourceBundleViewResolver

  步骤二:创建WEB-INF/my/res.jsp。

   



视图解析器ResourceBundleViewResolver

  步骤三:在src目录下创建rb.properties文件。

   注意:def就是controller类中返回的字符串的值

   



视图解析器ResourceBundleViewResolver

  步骤四:在springmvc-servlet.xml文件中配置如下的代码:

      



视图解析器ResourceBundleViewResolver

  步骤五:在项目中导入jstl.jar包,启动工程。

      



视图解析器优先级

  如果想在spring mvc应用程序中使用多个视图解析器,那么可以使用order属性设置优先级顺序。      


4、SPRING框架_映射处理器.ppt

SPRINGMVC框架

映射处理器

概述

  如何根据http请求选择合适的controller是MVC中一项十分关键的功能,在spring MVC中, HandlerMapping接口是这一活动的抽象。这四种HandlerMapping的实现叫映射解析器。

  1、根据controller的name名称来映射寻找(默认解析器)

  2、根据URL来映射寻找

  3、根据controller的类名来映射寻找

  4、使用注解来映射寻找

根据controller的name属性映射

  步骤一:在springmvc配置文件中通过以下的代码开启这种形式的映射:


根据controller的name属性映射

  步骤二:在com.jy.controller包下创建一个名为BeanNameController类,该类必须实现Controller接口


根据controller的name属性映射

  步骤三:在springmvc配置文件中对BeanNameController类进行配置,并且在WEB-INF/my/目录下创建hello.jsp文件。


根据URL来映射寻找

  步骤一:在com.jy.controller包下创建一个名为SimpleController的类。该类可以实现Controller接口或者继承AbstractController类。

根据URL来映射寻找

  步骤二:在springmvc配置文件中进行以下的配置。

根据controller的类名来映射寻找

  步骤一:在springmvc配置文件中进行以下的配置。

根据controller的类名来映射寻找

  步骤二:在com.jy.controller包下创建TestController类。

   注意:controller类的类名中不能包含”name”,否则会配置失败。

根据controller的类名来映射寻找

  步骤三:在WEB-INF/my目录下创建cn.jsp页面。

   在浏览器地址栏输入http://localhost:8080/springmvc/test进行测试

使用注解来映射寻找

  步骤一:在com.jy.controller包下创建MyController类。

使用注解来映射寻找

  步骤二:在WEB-INF/my目录下创建success.jsp页面。


5、SPRING框架_注解.ppt

SPRINGMVC框架

注解

springmvc中的部分注解

  1、@Controller 声明该类为SpringMVC中的Controller

   2、@RequestMapping 用于映射Web请求,包括访问路径和参数(类或方法上)

   3、@RequestParam绑定单个请求参数值。

   4、@ResponseBody 支持将返回值放在response内,而不是一个页面,通常用户返回json数据(返回值旁或方法上)

   5、@RequestBody 允许request的参数在request体中,而不是在直接连接在地址后面。(放在参数前)

   6、@PathVariable 用于接收路径参数,比如@RequestMapping(“/hello/{name}”)申明的路径,将注解放在参数中前,即可获取该值,通常作为Restful的接口实现方法。

   7、@RestController 该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着,该Controller的所有方法都默认加上了@ResponseBody。

springmvc中的部分注解

  8、@ControllerAdvice 通过该注解,我们可以将对于控制器的全局配置放置在同一个位置,注解了@Controller的类的方法可使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上, 这对所有注解了 @RequestMapping的控制器内的方法有效。

   9、@ExceptionHandler 用于全局处理控制器里的异常

   10、@InitBinder 用来设置WebDataBinder,WebDataBinder用来自动绑定前台请求参数到Model中。

   11、@ModelAttribute 本来的作用是绑定键值对到Model里,在@ControllerAdvice中是让全局的@RequestMapping都能获得在此处设置的键值对。

@Controller注解

  @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。

    步骤一:创建net.test.controller包。

    步骤二:在springmvc-servlet.xml文件中添加如下的配置

@Controller注解

  步骤三:在net.test.controller包下创建Controller类

@RequestMapping注解

   RequestMapping是一个用来处理请求地址映射的注解(将请求映射到对应的控制器方法中),可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 RequestMapping请求路径映射,如果标注在某个controller的类级别上,则表明访问此类路径下的方法都要加上其配置的路径;最常用是标注在方法上,表明哪个具体的方法来接受处理某次请求。

@RequestMapping注解

   

@RequestParam注解

   @RequestParam用于将请求参数区数据映射到功能处理方法的参数上。

  @RequestParam有以下三个参数: value:参数名字,即入参的请求参数名字,如act表示请求的参数区中的名字为act的参数的值将传入; required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将抛出异常; defaultValue:默认值,表示如果请求中没有同名参数时的默认值,设置该参数时,自动将required设为false。

@RequestParam注解

   

@PathVariable注解

   @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

@ModelAttribute注解

   @ModelAttribute可以应用在方法参数上或方法上,作用主要是当注解在方法参数上时会将注解的参数对象添加到Model中;当注解在请求处理方法Action上时会将该方法变成一个非请求处理的方法,但其它Action被调用时会首先调用该方法。

   注意:被 @ModelAttribute 注解的方法会在Controller类中的每个被@RequestMapping注解的方法执行之前都执行

@ModelAttribute注解

   @ModelAttribute注解在没有返回值的方法上。

@ModelAttribute注解

 @ModelAttribute注解在有返回值的方法上。

@ModelAttribute注解

  @ModelAttribute和@RequestMapping可以同时注释一个方法。

@ModelAttribute注解

  当@ModelAttribute注解用于方法参数时,它有了双重功能,即“存/取”。首先,它从模型中取出数据并赋予对应的参数,如果模型中尚不存在,则实例化一个,并存放于模型中;其次,一旦模型中已存在此数据对象,接下来一个很重要的步骤便是将请求参数绑定到此对象上(请求参数名映射对象属性名),这是Spring MVC提供的一个非常便利的机制--数据绑定。

@ModelAttribute注解

  

@SessionAttributes注解

  @SessionAttributes 是用来在 controller 内部共享 model 属性的。我们可以在需要访问 Session 属性的 controller 上加上 @SessionAttributes,然后在 action 需要的 User 参数上加上 @ModelAttribute,并保证两者的属性名称一致。SpringMVC 就会自动将 @SessionAttributes 定义的属性注入到 ModelMap 对象,在 setup action 的参数列表时,去 ModelMap 中取到这样的对象,再添加到参数列表。只要我们不去调用 SessionStatus 的 setComplete() 方法,这个对象就会一直保留在 Session 中,从而实现 Session 信息的共享。

   注意: @SessionAttributes只能在类上注释,不能使用在方法上。

@SessionAttributes注解

@SessionAttributes注解

@SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些。

@Responsebody注解

@Responsebody表示该方法的返回结果直接写入HTTP response body中。一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。

@Responsebody注解

@requestBody注解

@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。

@requestBody注解

使用@requestBody先导入以下的jar包:

@requestBody注解

创建jsp页面:

@requestBody注解

创建Controller类:


Spring MVC框架的PPT内容 END



作业和讲义 START

个人理解:autowire="byName"代替了ref部分的代码。




1、创建一个英雄类和一个任务类,英雄类中有一个任务属性和这个属性的set方法以及一个探险的方法(调用showText方法),

任务类中有一个任务文本属性和这个属性的set方法,另外还有一个显示任务内容的方法showText,请在spring容器中创建出英雄类,调用他的探险方法(使用byName自动装配)


2、创建一个接口IFly(飞行能力接口),包含flying方法,创建一个Duck鸭子类和一个Plane飞机类,都实现IFly接口,通过spring容器写出一段松耦合的代码,能够调用Duck和Plane类中的flying方法。



3、创建一个Book类,Pen类,Stu类,stu中包含一个Book属性和Pen属性

Book中有一个read方法,Pen中有一个Write方法。Stu中包含一个Perform方法,该方法会调用read和write方法。

通过byName自动装配调用Stu中的Perform方法

sprinGCore框架:核心是spring容器(配置文件applicationContext.xml)
sprinGCore框架就是项目管家,可以管理我们项目中需要new出来的任何的java类。
当引入sprinGCore框架以后,代码中的new关键字几乎就没有了。

sprinGCore框架两种注入方式:就是在配置文件中new出不同的对象的方式
注入方式两种:
1、构造器注入(相当于在配置文件中调用构造方法)
2、setter方法注入(相当于在配置文件中调用属性对应的setter方法)
值注入:就是注入的参数都是字符串,数字或者布尔类型
引入注入:就是注入的参数是一个对象

理解注入:设计模式中的一种策略模式
松耦合:目的就是为了便于修改和维护代码。针对接口编程,尽量不要在代码中使用new关键字

交通工具接口和具体实现类的例子

bean的作用域

1、创建猫类和狗类,都包含eat方法,通过spring aop配置当调用eat方法前调用Person(主人)类中的call(呼唤)方法。调用eat方法之后,调用主人类中的clear(清洁)方法

2、创建UserDao类和ProductDao类,都包含add,delete,update方法,创建日志类Logger,包含记录操作的log方法,通过spring aop配置当调用Dao类中的add,delete和update方法之后,调用日志类中的log方法。





SPRING框架两大核心概念:IOC(控制反转)和AOP(面向切面编程)
IOC的实现方式:DI(依赖注入)
AOP:面向切面编程,跟OOP(面向对象编程)

在项目的很多地方都要调用这段代码(安全验证)

饭前便后要洗手

吃饭的方法
便便的方法

洗手的方法(切面)

通知:调用吃饭方法之前使用切面(洗手)
      调用便便方法之后使用切面(洗手)
      调用吃饭方法成功之后使用切面(洗手)
      调用吃饭方法发现没有筷子时使用切面(洗手)

连接点:(选择题提供了五个选项供你选择,这五个选项就可以理解为连接点)
在调用吃饭方法之前调用洗手的方法
在调用吃饭方法之后调用洗手的方法
在调用吃饭方法成功以后调用洗手的方法
在调用吃饭方法抛出异常时调用洗手的方法
在调用吃饭方法之前和之后都调用洗手的方法

切点:(从选项中选出了正确的答案)
在调用吃饭方法之前调用洗手的方法变成了一个切点

乱码处理的方法
doPost之前乱码处理
doPost之后乱码处理
doPost方法调用成功以后乱码处理
doPost方法抛出异常时调用乱码处理
doPost方法环绕处理

切点:doPost方法前调用乱码处理

学生和老师
当学生考试时,老师鼓励学生
Student类,考试方法,考驾照方法,创业方法
Teacher类,鼓励方法
调用考试方法之前调用鼓励的方法

1、创建一个Controller类,通过输入地址http://localhost:8080/JO2/test能够跳转到/WEB-INF/index.jsp页面

2、http://localhost:8080/JO2/pub/toLogin跳转到/WEB-INF/pub/login.jsp

3、http://localhost:8080/JO2/pub/toReg跳转到/WEB-INF/pub/reg.jsp

4、http://localhost:8080/JO2/list跳转到/WEB-INF/product/proinfo.jsp

5、http://localhost:8080/JO2/logo跳转到/WEB-INF/index.jsp

6、创建一个商品类,包含商品名称,商品价格,商品类型(多选框),商品单位(下拉框),商品品牌(单选框),生产日期(文本框),在Springmvc中创建一个新增商品的表单,在Controller类中打印出这些输入值并且跳转到另外一个result.jsp,在这个页面显示所有的输入值。



STRUTS2,SPRINGMVC:javaweb框架
MYBATIS框架:通用数据库框架
SPRINGCORE框架:通用框架,项目粘合剂(管家)

MVC:
Model模型层
View视图层
Controller控制层

Struts2框架中servlet会升级为Action,而在springmvc框架中servlet就会升级为Controller
Maven工具:jar包管理工具

1、导包
2、修改web.xml,添加servlet的配置
3、导入核心配置文件/WEB-INF/springmvc-servlet.xml

创建一个Controller类,运行这个Controller类中的代码,打印出Hello world

通过Controller来对表单中提交的数据进行处理:request.getParameter方法

在WEB-INF目录下的jsp页面是不能直接通过输入页面路径访问到的,必须通过控制器来进行跳转

作业和讲义 END


Spring框架作业和对应讲义PPT,表单处理,视图解析器,映射处理器,注解【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律