栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC:@RequestMapping放在类上面和设置请求方式和请求参数(动力)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC:@RequestMapping放在类上面和设置请求方式和请求参数(动力)

 

web.xml:初始化配置





    
        myweb
        org.springframework.web.servlet.DispatcherServlet


        
            
            contextConfigLocation
            
            classpath:springmvc.xml
        


        1

    


    
        myweb
        *.do
    

springmvc.xml:配置文件





    


    
        
        
        
        
    

 MyController:控制器

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;

@Controller
@RequestMapping("/user")
public class MyController {
    

   // 指定some.do是GET请求方式
    //@RequestMapping(value = {"/some.do","/first.do"},method = RequestMethod.GET)   //value里面可以写多个名字进行访问
    @RequestMapping(value = "/some.do",method = RequestMethod.GET)
    public ModelAndView doSome(){ //doSome相当于doGet()---调用Service请求处理
        System.out.println("调用Sevice后:");//这里先不调用,简化处理
        ModelAndView mv=new ModelAndView();

        //添加数据,框架在请求的最后把数据放入到request作用域。
        //request.setAttribute("msg","欢迎使用mvc开发")
        mv.addObject("mgs","欢迎使用mvc开发");
        mv.addObject("fun","执行的是dosome方法");

        mv.setViewName("show");

        //返回mv
        return mv;

    }

    //指定other.do是post请求方式
    @RequestMapping(value = "/other.do",method = RequestMethod.POST)   //value里面可以写多个名字进行访问
    public ModelAndView doOther(){
        System.out.println("调用Sevice后:");//这里先不调用,简化处理
        ModelAndView mv=new ModelAndView();

        //添加数据,框架在请求的最后把数据放入到request作用域。
        //request.setAttribute("msg","欢迎使用mvc开发")
        mv.addObject("mgs","欢迎========使用mvc开发==============");
        mv.addObject("fun","执行的是dosome方法");
        mv.setViewName("other");

        //返回mv
        return mv;

    }

    //不指定请求方式,没有限制
    @RequestMapping(value = "/first.do")
    public ModelAndView doFirst(){
        System.out.println("调用Sevice后:");//这里先不调用,简化处理
        ModelAndView mv=new ModelAndView();

        //添加数据,框架在请求的最后把数据放入到request作用域。
        //request.setAttribute("msg","欢迎使用mvc开发")
        mv.addObject("mgs","欢迎-------使用mvc开发--------");
        mv.addObject("fun","执行的是doFirst方法");
        mv.setViewName("other");

        //返回mv
        return mv;

    }
}

index.xml:

<%--
  Created by IntelliJ IDEA.
  User: DELL
  Date: 2022/6/7
  Time: 17:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>


    Title
    


  hellow word
  

发起some.do的get请求



hellow word

发起first.do的get请求


other.jsp:

<%--
  Created by IntelliJ IDEA.
  User: DELL
  Date: 2022/6/7
  Time: 19:01
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>


    Title
    


 /WEB-INF/view/other.jsp,从request作用域中获取数据
  msg数据:${mgs}
  fun数据:${fun}


show.jsp:

<%--
  Created by IntelliJ IDEA.
  User: DELL
  Date: 2022/6/7
  Time: 19:01
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>


    Title
    


 show.jsp,从request作用域中获取数据
  msg数据:${mgs}
  fun数据:${fun}


点击第一个:

点击第二个:

点击第三个:

 

点击第四个:

如果指定请求访问方式,超链接发起Get请求方式,让他访问post请求方式,则会报错:

给doFirst加上请求参数:

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
@RequestMapping("/user")
public class MyController {
    

   // 指定some.do是GET请求方式
   //@RequestMapping(value = {"/some.do","/first.do"})
    @RequestMapping(value ="/some.do",method = RequestMethod.GET)   //value里面可以写多个名字进行访问
    public ModelAndView doSome(){ //doSome相当于doGet()---调用Service请求处理
        System.out.println("调用Sevice后:");//这里先不调用,简化处理
        ModelAndView mv=new ModelAndView();

        //添加数据,框架在请求的最后把数据放入到request作用域。
        //request.setAttribute("msg","欢迎使用mvc开发")
        mv.addObject("mgs","欢迎使用mvc开发");
        mv.addObject("fun","执行的是dosome方法");

        mv.setViewName("show");

        //返回mv
        return mv;

    }

    //指定other.do是post请求方式
    @RequestMapping(value = "/other.do",method = RequestMethod.POST)   //value里面可以写多个名字进行访问
    public ModelAndView doOther(){
        System.out.println("调用Sevice后:");//这里先不调用,简化处理
        ModelAndView mv=new ModelAndView();

        //添加数据,框架在请求的最后把数据放入到request作用域。
        //request.setAttribute("msg","欢迎使用mvc开发")
        mv.addObject("mgs","欢迎========使用mvc开发==============");
        mv.addObject("fun","执行的是dosome方法");
        mv.setViewName("other");

        //返回mv
        return mv;

    }

    //不指定请求方式,没有限制
    //添加请求参数
    @RequestMapping(value = "/first.do")
    public ModelAndView doFirst(HttpServletRequest request,
                                HttpServletResponse response,
                                HttpSession session){
        System.out.println("调用Sevice后:");//这里先不调用,简化处理
        ModelAndView mv=new ModelAndView();

        //添加数据,框架在请求的最后把数据放入到request作用域。
        //request.setAttribute("msg","欢迎使用mvc开发")
        mv.addObject("mgs","欢迎-------使用web开发--------"+request.getParameter("name"));
        mv.addObject("fun","执行的是doFirst方法");
        mv.setViewName("other");

        //返回mv
        return mv;

    }
}

在地址栏输入传递的值:?name=zhangsan,回车

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984470.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号