SpringMVC

正常使用spring MVC 开发的时候 自定义一个类,名称是xxxController 然后在其上使用@Controller注解这个类(将这个类交给spring 管理)(就不用去实现controller接口了)

@RestController

如果当前定义的xxxController 类中返回的数据是json格式,可以将@Controller改为@RestController(表示将来打给客户端响应的数据全是json格式)

@RequestMapping("/abc")

@RequestMapping("/abc")可以作用在类和方法上,用于表名定义请求路径 在类上需要使用@RequestMapping("/")注解来书写具体的请求路径(例如:@RequestMapping("/user") 只要是/user的请求 都会进入到当前类中)

在具体的方法上使用@RequestMapping("/") 来书写具体的映射地址

@RequestMapping的属性

* name属性

:给RequestMaping注解的命名 (可以省略)

* value/path属性:

用来书写具体请求路径的(如果在RequestMaping中只写路径 可以省略vlaue)

    methods属性:

用来限制会客户端请求时 请求方式(get或者post 默认是GET)

(@RequestMapping(path = "/show1",method = {RequestMethod.POST}))

* 如果请求的方式和要求的方式不匹配 405报错

* params属性:

用于限定请求的参数内容的,如果请求中携带的参数 不匹配

* 会报400状态码

params = {"name","pwd"} 请求中必须包含 name 和pwd

* params = {"name!=admin","pwd"} 请求中name不能等于admin

* params = {"name!=admin","!pwd"} 请求中name不能等于admin 同时不能包含pwd

//通配符方式:

  ?: 匹配任何单字符,(也就是说 书写路径可以是任意字符 但是只能匹配一个)

  *: 匹配零个 或任意数量的字符

  **: 匹配零个或更多路径

占位符方式:

可以用于客户端给服务器端 传递请求参数的数据(类似get和post传递参数)

书写格式: {参数名称}/{参数名称}....

可以书写很多占位符:使用大括号包裹即可

正常情况下.客户端给服务器端传递参数:(get方式 在url地址后面使用?隔开,key=value的方式  post方式使用form表单提交数据)

//占位符方式

* 可以用于客户端给服务器端传递请求参数的数据(类似 get和post传递数据)

* 书写格式:

* {参数名称}/{参数名称}....

* 可以书写很多占位符:使用大括号包裹即可

* 正常情况下,客户端给服务器端 传递数据:

* 以get方式: 在url地址后面使用?隔开,key=value方式

* 以post方式:使用呢form表单 提交数据

*

* @PathVariable:标注的参数是在请求url中的占位符中的内容

注意:(使用注解需要先配置这个)

开启springmvc注解(不需要配置自己定义的handler对象了)

      <mvc:annotation-driven/>

 告诉springmvc注解在哪些包下

      <context:component-scan base-package="com.neuedu"></context:component-scan>

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context" 

xmlns:mvc="http://www.springframework.org/schema/mvc" 

xsi:schemaLocation="http://www.springframework.org/schema/beans 

      http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 

      http://www.springframework.org/schema/context 

      http://www.springframework.org/schema/context/spring-context-3.2.xsd 

      http://www.springframework.org/schema/mvc 

      http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

      <!--  (定义处理器映射器和定义处理器适配器 在springmvc已经写好了 可以不写 省略)

      定义处理器映射器

      <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

      定义处理器适配器

      <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>

    定义handler处理对象 也就是真正处理逻辑的代码 疑惑称作是是controller对象

      name属性:访问的路径

      class属性:访问的handler的全类名

      -->

      <bean name="/demo1.mvc" class="com.neuedu.controller.Demo1mvc"></bean>

    <!-- 利用注解 -->

      <!-- 开启springmvc注解(不需要配置自己定义的handler对象了) -->

      <mvc:annotation-driven/>

      <!-- 告诉springmvc注解在哪些包下 -->

      <context:component-scan base-package="com.neuedu"></context:component-scan>

      <!-- 配置视图解析器

      Example:

      prefix="/WEB-INF/jsps/",  前缀

      suffix=".jsp" 后缀

      viewname="test"    文件名  - >  "/WEB-INF/jsps/test.jsp"   

      -->

      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

      <property name="prefix" value="/WEB-INF/jsps/"></property>

      <property name="suffix" value=".jsp"></property>

      </bean>

</beans>

//springmvc 如何获取页面参数 --普通类型

//springmvc 如何获取页面参数 --欢迎登陆成功的案例

//spring mvc 如何获取页面请求参数--pojo(实体类)类型

定义方法--在方法中绑定web中的对象

想要使用web中的request和response对象,直接在方法中定义变量即可

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容