Spring MVC


MVC: model 模型(JavaBean对象)、view 视图(Jsp、html等技术)、Controller控制器(Servlet等)
浏览器发请求,请求先到Controller控制器,控制器接收请求,去new一个JavaBean对象,
将拿到的数据封装起来,此时JavaBean在业务层就可以调用业务逻辑,业务层返回数据,再封装到JavaBean中,
再将数据转发给JSP(html),在jsp中响应结果,生成html

SpringMVC是什么

优势


 

 


1.Maven骨架创建wep
2.导入依赖
抽取spring依赖的公共版本号、spring-contextspring-webspring-webmvcservlet-apijsp=api

<properties>
    <spring.version>5.0.2.RELEASE</spring.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>

3. 配置前端控制器

4.创建spring配置文件

开启spring注解,指定要扫描的包

5.创建控制器类


6. 前端控制器中,加载springmvc配置文件


Servle对象t默认是在接收请求时,才会被创建,使用<load-on-startup>1将servlet对象的创建变为服务器启动时,就创建
所以,springmvc配置文件的加载初始化,要放到前端控制器servlet中,当服务器启动时,就会被加载

 

 

 






7. 给控制器指定返回页面的页面名字符串,MVC会将该字符串默认为页面名

8. 配置视图解释器对象,解析控制器类返回的字符串为jsp页面

 

9. 请求页面的请求路径填写为,请求的控制器控制方法的请求映射路径

 

总结:
Maven骨架创建wep
导入依赖spring-context、spring-web、spring-webmvc、servlet-api、jsp=api


spring配置文件     开启注解,指定扫描包
控制器类                将类对象存入容器、
                                                        将方法带上请求路径,存入容器
控制器指定返回页面名字符串   -------   方法返回为字符串
                               
                             如果方法返回值为modelandView对象,需要设置对象的VIewName为返回页面名
                              返回值为void,则使用原生request,跳转页面

前端控制器                    的servlet
前端控制器中加载springmvc配置文件
                                       全局初始化指定配置文件路径
                                                         指定前端控制器的servlet,在服务器启动时就创建

视图解释器对象,解析控制器类返回的字符串为jsp页面
                               
                                                        
请求页面的请求路径
                                      

 









处理器映射器、处理器适配器、视图解析器------SpringMVC三大组件

<mvc:annotation-driven>:自动加载处理器映射器、处理器适配器

 


可以作用于方法、类上
用于类上,表示一级目录---模块url


属性value =  path 指定请求路径的url

                

属性 method   指定 请求方式(GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE)

               

属性 param  指定请求参数  ------------  请求必须包含指定的属性键值对key=value,有一个不同就请求失败

                          
                         

属性headers  指定请求必须包含的请求头

                        
              
 

1. 基本类型/字符串类型 请求参数,作为控制器方法的参数绑定,进而获取参数值-------------要求请求参数名 == 方法参数名


2. 实体类型 请求参数,作为控制器方法的参数绑定---------------要求请求参数名 == 实体类属性名


     

过滤器解决post响应 乱码的情况

 


写一个类继承Converter<s,t>-------方法中设置类型转换格式

       

注册自定义类型转换器


在mvc:annotation-driven中开启自定义类型转换器

对日期类型处理



 

 


 

 

获取请求参数给控制器方法
请求参数的绑定,要求请求参数名和Controller方法形参名必须一致,RequestParam可以修饰形参,来给形参起别名



请求参数为name,导致@RequestParam(name="name")中的值一定为name,相反,当@RequestParam(name="name")中设为name,请求参数也必须有name

 

 获取请求体内容给控制器方法

只支持post请求(post请求才有请求体)----  所有不能用超链接请求(get)

得到的就是表单内容

    提供url占位符给控制器方法




              

(在url中传入一个占位符)类似于重载思想,url的主路径一致,通过填充不同的占位符和请求方式,来区分不同的请求资源


配置一个过滤器,用意将post、get请求转变为delete put 

 


必须要有此消息头


传Cooki值

 修饰的方法时,会在请求方法之前执行,可以保证未提交数据的字段,使用原来设定好的数据

提前设定一个对象参数的值,当另一个传递的请求参数没有此值时,使用该值



方法一:修饰方法,使用返回值,提前设定值,给未传递的属性使用 -------------------使用对象来存放提前设定的值


在表单中提交了两个属性,属性不全,在@ModelAttribute的方法中,传入一个表单项,将表单中未传递的属性,提前设置好,封装到一个对象,再将对象返回给@RequestMapping中做参数,表单访问@RequestMapping方法路径,就得到完整的对象属性

 

方法二:修饰参数:使用Map存提前设定的值,给未传递的属性使用------------------------使用Map集合来存放提前设定的值

 



不忽略EL表达式:开启EL表达式

 

参数共享1.request域中

方法参数用Model,调用方法addAttribute("key","value"); 存入request域中

 

参数共享2. session域中

@SessionAttribute 修饰类,当request域通过model设置了键值对,才能读取出来
当request域中有msg=美美,再用@SessionAttributes(value={"msg"})将该键值对又存入session域中

开启EL表达式支持

去共享的Session域的值

参数传递Model的实现类ModelMap 通过 get("key"),可以从session中取出对应键值对的值

删除共享的Session值

参数传递SessionStatus     调用方法setComplete(),清除session域中的值

 

 

直接请求转发请求重定向

setViewName提供视图名称,传递给modelandview作为返回页面名称

      

     
      
return的就是视图名称,作为返回页面名称

 



注意事项:重定向请求不到WEB-INT下的页面

使用 redirect: 关键字来重定向,不需要写项目名称路径 



重定向后共享数据

使用参数 RedirectAttributes  的方法 addFlashAttribute() 设定键值对,在重定向的另一个方法中 能使用

 

 



 

 

 



 




 


静态资源不拦截
在springmvc.xml中


需要用到的jar包

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.10</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.10</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.10</version>
    </dependency>





 

 










 

springmvc上传文件



注意:表单中的文件名必须和上传方法中、参数名一样

 






 




 

 








 



 

 




 






 

 




          
          




一键全部的控制方法都拦截,不需要指定拦截路径也可以

拦截指定路径


将拦截路径设为请求路径下的所有路径,就可以拦截所有控制器方法的请求

 

 

 

spring-mybatis整合





 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蛋白质是生物体中普遍存在的一类重要生物大分子,由天然氨基酸通过肽键连接而成。它具有复杂的分子结构和特定的生物功能,是表达生物遗传性状的一类主要物质。 蛋白质的结构可分为四级:一级结构是组成蛋白质多肽链的线性氨基酸序列;二级结构是依靠不同氨基酸之间的C=O和N-H基团间的氢键形成的稳定结构,主要为α螺旋和β折叠;三级结构是通过多个二级结构元素在三维空间的排列所形成的一个蛋白质分子的三维结构;四级结构用于描述由不同多肽链(亚基)间相互作用形成具有功能的蛋白质复合物分子。 蛋白质在生物体内具有多种功能,包括提供能量、维持电解质平衡、信息交流、构成人的身体以及免疫等。例如,蛋白质分解可以为人体提供能量,每克蛋白质能产生4千卡的热能;血液里的蛋白质能帮助维持体内的酸碱平衡和血液的渗透压;蛋白质是组成人体器官组织的重要物质,可以修复受损的器官功能,以及维持细胞的生长和更新;蛋白质也是构成多种生理活性的物质,如免疫球蛋白,具有维持机体正常免疫功能的作用。 蛋白质的合成是指生物按照从脱氧核糖核酸(DNA)转录得到的信使核糖核酸(mRNA)上的遗传信息合成蛋白质的过程。这个过程包括氨基酸的活化、多肽链合成的起始、肽链的延长、肽链的终止和释放以及蛋白质合成后的加工修饰等步骤。 蛋白质降解是指食物中的蛋白质经过蛋白质降解酶的作用降解为多肽和氨基酸然后被人体吸收的过程。这个过程在细胞的生理活动中发挥着极其重要的作用,例如将蛋白质降解后成为小分子的氨基酸,并被循环利用;处理错误折叠的蛋白质以及多余组分,使之降解,以防机体产生错误应答。 总的来说,蛋白质是生物体内不可或缺的一类重要物质,对于维持生物体的正常生理功能具有至关重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值