当前位置: 首页 > 图灵资讯 > 技术篇> springmvc注解式开发

springmvc注解式开发

来源:图灵教育
时间:2023-05-31 09:20:12

1.指定模块名称131.1@Requestmaping131

处理器对请求的映射规则可以通过@RequestMaping注释来定义。该注释可以注释在方

类别也可以在法律上注明,但意义不同。value属性值通常从“/”开始。

@Requestmaping的value属性用于定义匹配请求的URI。但是对于注释,在方法和类别上

其value属性所指定的URI意义不同。

1.2@Requestmaping的作用

多个处理器方法可以在@controller注释的类别中定义。当然,不同的处理器方法

匹配的URI是不同的。这些不同的URI被指定为@RequestMaping,注释在方法上

value属性。但是,如果这些请求具有相同的URI部分,则可以在注释中提取相同的URI

在@RequestMaping的value属性中。此时,URI表示模块的名称。URI请求

是与Web相比的根目录。

换句话说,要访问处理器的指定方法,必须在方法指定URI之前添加处理器类

义模块名称

Mycontroller修改处理器类。

springmvc注解式开发_spring

package com.bjpowernode.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;/** *  @Controller:创建处理器对象,对象放置在springmvc容器中。  6 * *  @RequestMapping: *    value : 所有请求地址的公共部分,称为模块名   13 *    位置: 把它放在类别上 */@Controller@RequestMapping("/user")public class MyController {    @RequestMapping(value = {"/some.do","/first.do"})    public ModelAndView doSome(){// doGet()-->service请求处理        ///处理some.do请求了。 相当于service调用处理的完成。 相当于service调用处理的完成。        ModelAndView mv = new ModelAndView();        //添加数据, 在请求结束时,框架将数据放入request作用域。  7        mv.addObject("msg“欢迎使用springmvc坐web开发”;        mv.addObject("fun",“执行dosome方法”);        ///用视图解析器填写路径  12        mv.setViewName("show");        //返回mv        return mv;    }    @RequestMapping(value = {"/other.do","/second.do"})    public ModelAndView doOther(){        ModelAndView mv  = new ModelAndView();        mv.addObject("msg",=====欢迎使用springmvc进行web开发===;        mv.addObject("fun“执行doother方法”);        mv.setViewName("other");        return mv;    }}

<%--index.编写jsp页面  6--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>    第一个springmvc项目    第一个springmvc项目            使用超链接发起some.do的请求                使用超链接发起other.do的请求

springmvc注解式开发_Spring注解开发_02

springmvc注解式开发_mvc_03

2.请求提交方式的定义142.1对于@RequestMapping,其属性method

用于提交注解方法处理的请求

限制方法,即只有满足method属性指定的提交方法的要求,才能实施注释方法。

Method属性的取值为RequestMethod枚举常量。RequestMethod常用.GET与

RequestMethod.POST,GET和POST分别表示提交方式的匹配规则。

springmvc注解式开发_Spring注解开发_04

上述处理器方法只能处理POST提交的请求。客户浏览器常用的请求方法及其要求

2.2提交方式如下:

springmvc注解式开发_spring_05

也就是说,只要处理器方法匹配的请求提交方法是POST,就相当于指定请求

发送方式:要么使用表格请求,要么使用AJAX请求。禁止使用其他请求。

当然,如果不指定method属性,可以匹配GET和POST的提交方式。也就是说,对于

要求的提交方式无要求

Mycontroler修改处理器

springmvc注解式开发_mvc_06

package com.bjpowernode.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;/** *  @Controller:创建处理器对象,对象放置在springmvc容器中。  6 * *  @RequestMapping: *    value : 所有请求地址的公共部分,称为模块名   13 *    位置: 把它放在类别上 */@Controller@RequestMapping("/user")public class MyController {    /**     * @RequestMapping : 请求映射    14     *             属性: method, 表示请求的方式。 它的值RequestMethod类枚举值。     *                    例如,表示get请求方式, RequestMethod.GET     *                    post方法, RequestMethod.POST     *     *  你不需要得到它,错误是:     *  HTTP Status 405 - Request method 'GET' not supported     */    //指定some.do使用get请求   14    @RequestMapping(value = "/some.do",method = RequestMethod.GET)    public ModelAndView doSome(){// doGet()-->service请求处理        ///处理some.do请求了。 相当于service调用处理的完成。 相当于service调用处理的完成。        ModelAndView mv = new ModelAndView();        //添加数据, 在请求结束时,框架将数据放入request作用域。  7        mv.addObject("msg“欢迎使用springmvc坐web开发”;        mv.addObject("fun",“执行dosome方法”);        ///用视图解析器填写路径  12        mv.setViewName("show");        //返回mv        return mv;    }    //指定other.do是post请求的方式  14    @RequestMapping(value = "/other.do",method = RequestMethod.POST)    public ModelAndView doOther(){        ModelAndView mv  = new ModelAndView();        mv.addObject("msg",=====欢迎使用springmvc进行web开发===;        mv.addObject("fun“执行doother方法”);        mv.setViewName("other");        return mv;    }    ///不指定请求方式,没有限制  14    @RequestMapping(value = "/first.do")    public ModelAndView doFirst(){        ModelAndView mv  = new ModelAndView();        mv.addObject("msg",=====欢迎使用springmvc进行web开发===;        mv.addObject("fun“执行dofirst方法”);        mv.setViewName("other");        return mv;    }}

<%--index.编写jsp页面  6--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>    第一个springmvc项目    第一个springmvc项目            使用超链接发起some.doget请求

some.do请求

springmvc注释开发mvc_07'

springmvc注解式开发_Spring注解开发_08

other.do请求

springmvc注解式开发_mvc_09

springmvc注解式开发_mvc_10