Spring MVC 之请求处理方法可接收参数(三)

简介: 请求处理方法可接收参数 今天学习了前三个方法。   1、作用域对象2、单个表单提交数据3、表单数据封装的Bean对象 首先创建一个实体对象。 1 package com.cy.springannotation.

请求处理方法可接收参数

今天学习了前三个方法。

 

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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>登录页面</title>
13     
14     <meta http-equiv="pragma" content="no-cache">
15     <meta http-equiv="cache-control" content="no-cache">
16     <meta http-equiv="expires" content="0">    
17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
18     <meta http-equiv="description" content="This is my page">
19     <!--
20     <link rel="stylesheet" type="text/css" href="styles.css">
21     -->
22 
23   </head>
24   
25   <body>
26   <form action="login.do" method="post">
27     <table>
28        <tr>
29            <td>用户名:</td>
30            <td><input type="text" name="username"/></td>
31        </tr>
32        <tr>
33            <td>密码</td>
34            <td><input type="text" name="password"/></td>
35        </tr>
36        <tr>
37            <td colspan="2"> <input type="submit" value="提交"/> </td>
38        </tr>
39     </table>
40   </form>
41   </body>
42 </html>

 

 

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";           // 返回的字符串被当做ViewName
25          
26      }*/
27     
28     /**
29      * 
30      * 1 、作用域对象
31      * HttpServletRequest,HttpServletResponse,HttpSession
32      * 个数顺序可以自行定义
33      * @param request
34      * @return
35      */
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     //如果属性名与提交项名称相同,可以不配置@RequestParam
73     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 user
85      * @return
86      */
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风格请求从获取数据

 

相关文章
|
1月前
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
34 1
Spring MVC——项目创建和建立请求连接
|
21天前
|
前端开发 Java 测试技术
深入剖析:Spring Boot Controller中请求处理方法的访问修饰符
【10月更文挑战第21天】 在Spring Boot应用中,Controller类中的请求处理方法通常用于处理HTTP请求。这些方法的访问修饰符(private或public)对方法的行为和可访问性有着重要影响。本文将深入探讨在Controller中使用private和public修饰符的区别,以及它们对Spring MVC框架的影响。
24 8
|
1月前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
1月前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
53 2
|
2月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
1月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
109 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
2月前
|
XML 缓存 前端开发
springMVC02,restful风格,请求转发和重定向
文章介绍了RESTful风格的基本概念和特点,并展示了如何使用SpringMVC实现RESTful风格的请求处理。同时,文章还讨论了SpringMVC中的请求转发和重定向的实现方式,并通过具体代码示例进行了说明。
springMVC02,restful风格,请求转发和重定向
|
3月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
47 0
|
6月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
191 0