博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring MVC 之请求处理方法可接收参数(三)
阅读量:6250 次
发布时间:2019-06-22

本文共 4235 字,大约阅读时间需要 14 分钟。

请求处理方法可接收参数

今天学习了前三个方法。

 

1、作用域对象

2、单个表单提交数据
3、表单数据封装的Bean对象

首先创建一个实体对象。

1 package com.cy.springannotation.entity; 2 /** 3  * 定义一个表单实体类 4  * @author acer 5  * 6  */ 7 public class UserBean { 8     //要求属性名必须要和表单的参数名一样的! 9     private String username;10     private String password;11     public String getUsername() {12         return username;13     }14     public void setUsername(String username) {15         this.username = username;16     }17     public String getPassword() {18         return password;19     }20     public void setPassword(String password) {21         this.password = password;22     }23     24 25 }

 

简单的一个jsp页面!login.jsp

为了方便观察 password的type为text。

1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7  8  9   10     11     12     登录页面13     14     
15
16
17
18
19
22 23 24 25 26
27
28
29
30
31
32
33
34
35
36
37
38
39
用户名:
密码
40
41 42

 

 

LoginController.java
1 package com.cy.springannotation.controller; 2  3 import javax.servlet.http.HttpServletRequest; 4  5 import org.apache.log4j.Logger; 6 import org.springframework.stereotype.Controller; 7 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RequestMethod; 9 import org.springframework.web.bind.annotation.RequestParam;10 import org.springframework.web.servlet.ModelAndView;11 12 import com.cy.springannotation.entity.UserBean;13 14 @Controller  // @Controller告知Spring容器这是一个控制器组件15 public class LoginController {16     17     private Logger log=Logger.getLogger(this.getClass());18     19     20     21     /* @RequestMapping("/login.do")  // @RequestMapping告知该方法是针对/login.do请求的处理方法22      public String login(String username){23          System.out.println(username);24         return "index";           // 返回的字符串被当做ViewName25          26      }*/27     28     /**29      * 30      * 1 、作用域对象31      * HttpServletRequest,HttpServletResponse,HttpSession32      * 个数顺序可以自行定义33      * @param request34      * @return35      */36 37     /*@RequestMapping("/login.do") 38     public ModelAndView login(HttpServletRequest request){39         String username=request.getParameter("username");40         String password=request.getParameter("password");41         log.info(username);42         log.info(password);43         ModelAndView  mav=new ModelAndView();44         mav.setViewName("index");45         return mav;46         47     }*/48     49     /**50      * 2、单个表单提交数据51      */52     53     /*@RequestMapping("/login.do")54     public String login(@RequestParam("username")String name,@RequestParam("password")String pwd){55         log.info(name);56         log.info(pwd);57         return "index";58     }*/59 60     61     62     63     64     /**method主要是制定请求方法的规则,比如:如果设置了RequestMethod.POST,65      * 那么你的表单提交就必须使用POST提交,否则将报405错误 66      params="password" 表示我的表单提交中,一定要有password这个参数,否则将报400的错误*/67     68     /**69      * 2、单个表单提交数据70      */71     /*@RequestMapping(value="/login.do",method=RequestMethod.POST,params="password")72     //如果属性名与提交项名称相同,可以不配置@RequestParam73     public ModelAndView login(String username,String password){74         log.info(username);75         log.info(password);76         ModelAndView mv = new ModelAndView();77         mv.setViewName("index");78         return mv;79     }*/80     81     82     /**83      * 3 表单数据封装的Bean对象84      * @param user85      * @return86      */87     @RequestMapping(value="/login.do")88     public String login(UserBean user){89         log.info(user.getUsername());90         log.info(user.getPassword());91         return "index";92     }93     94      95      96 }

 

 其他的配置都和前一篇是相同的。

 

 

4、Map对象

5、PrintWriter作为参数
6、Cookie中的数据作为参数
7、Http协议头的数据作为参数
8、从restful风格请求从获取数据

 

转载地址:http://qmysa.baihongyu.com/

你可能感兴趣的文章
【转】TCP三次握手和四次挥手全过程及为什么要三次握手解答
查看>>
[系统资源攻略]IO第一篇-磁盘IO,内核IO概念
查看>>
在 CentOS 7 上设置 grub2
查看>>
[BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
查看>>
[BZOJ 2140]稳定婚姻(强连通分量)
查看>>
人工智能工程师学习路线
查看>>
I don't like to be an theorist
查看>>
「docker实战篇」python的docker- 抖音视频抓取(上)(24)
查看>>
powerdesigner 画出 C++ UML 增加const,static,virtual属性
查看>>
12月10日站立会议
查看>>
Nginx入门(2)反向代理和负载均衡
查看>>
MySQL库表状态查询
查看>>
【鲁班学院】干货分享!《面试必备之Mysql索引底层原理分析》
查看>>
快捷键
查看>>
第十一周项目0-是春哥啊
查看>>
poi做一个简单的EXCAL
查看>>
几种查询emacs帮助的办法
查看>>
MariaDB 数据库
查看>>
Python_基础_(模块,time,random,os,sys,json,shelve,xml,序列化反序列化)
查看>>
Redis几个认识误区
查看>>