当前位置: 首页 > news >正文

定制网站开发接私活好的html5网站模板

定制网站开发接私活,好的html5网站模板,网站推广的基本手段有哪些,线上营销策划方案Spring MVC 前言通过 RequestParam 注解获取请求参数RequestParam用法 通过 ServletAPI 获取请求参数通过实体类对象获取请求参数附 前言 在 Spring MVC 介绍中,谈到前端控制器 DispatcherServlet 接收客户端请求,依据处理器映射 HandlerMapping 配置调…

Spring MVC

  • 前言
  • 通过 @RequestParam 注解获取请求参数
    • @RequestParam
    • 用法
  • 通过 ServletAPI 获取请求参数
  • 通过实体类对象获取请求参数

在这里插入图片描述

前言

在 Spring MVC 介绍中,谈到前端控制器 DispatcherServlet 接收客户端请求,依据处理器映射 HandlerMapping 配置调用相应的处理器 Controller 。那么,处理器 Controller 具体是如何实现获取请求参数的呢?
在这里插入图片描述

通过 @RequestParam 注解获取请求参数

@RequestParam

@RequestParam,用于在处理器 Controller 方法参数上获取 HTTP 请求参数的值。使用 @RequestParam 注解可以获取请求参数的值以及对请求参数进行类型转换或验证。

简单示例:
首先,创建一个 index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><body><h2>Hello World</h2><form action="${pageContext.request.contextPath}/paramTest" method="post">账号:<input type="text" name="name" value="" /><br>密码:<input type="password" name="password" value="" /><br><input type="submit" value="提交"></form></body>
</html>

接着,创建一个 accessing.jsp

<%--Created by IntelliJ IDEA.User: dellDate: 2023/7/18Time: 12:54To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body><h2>提交成功!</h2>
</body>
</html>

然后,获取表单中 name 和 password 参数的值

package cn.edu.springmvcdemo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;@Controller
public class ParamDemo {@RequestMapping("/index")public String index1(){return "index";}@RequestMapping("/paramTest")//@RequestParam 的 value 值需要与表单中的参数名字(name值)保持一致,而 paramTest() 方法中的参数名字(str1、str2)可以随机填写public String paramTest(@RequestParam(value = "name") int str1,@RequestParam(value = "password") String str2){System.out.println("账号 = " + str1);System.out.println("密码 = " + str2);return "accessing";}
}

注:当处理器 Controller 方法中的参数名字与表单中的参数名字不一致时,需要 @RequestParam 的 value 值指定参数名字

最后,测试结果
结果如图:
1.输入账号和密码,点击提交
在这里插入图片描述

2.成功提交,跳转到 accessing.jsp
在这里插入图片描述

3.获取到相应的参数值
在这里插入图片描述

用法

1. 在上面的示例中,Spring MVC 会自动根据参数名字来注入,所以 @RequestParam(value = " ") 的部分可以省略,但需要处理器 Controller 方法中的参数名字与表单中的参数名字(name值)保持一致。

如图:
在这里插入图片描述
或者
在这里插入图片描述

2. 在上面的示例中,name 为 int 类型,当输入为空时,数据赋值为 null ,页面会报错。

如图:
1.输入为空,直接点击提交
在这里插入图片描述
2.页面报错
在这里插入图片描述

解决:
1.使用 @RequestParam 注解的 defaultValue 属性设置数据默认值
在这里插入图片描述

2.使用 @RequestParam 注解的 required 属性设置值为 false(默认参数赋值为 null ),并将 int 类型改为 Integer 类型
在这里插入图片描述

通过 ServletAPI 获取请求参数

使用 ServletAPI 获取参数值

简单示例:
通过 HttpServletRequest 获取参数值

package cn.edu.springmvcdemo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;@Controller
public class ParamDemo {@RequestMapping("/index")public String index1(){return "index";}//1.使用 @RequestParam 注解获取参数值@RequestMapping("/paramTest")public String paramTest(@RequestParam(required = false) Integer name,@RequestParam String password){System.out.println("账号 = " + name);System.out.println("密码 = " + password);return "accessing";}//2.使用 HttpServletRequest 直接获取参数值@RequestMapping("/paramHSR")public String paramHSR(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {req.setCharacterEncoding("UTF-8");int name = Integer.parseInt(req.getParameter("name"));String password = req.getParameter("password");System.out.println("账号 = " + name);System.out.println("密码 = " + password);return "accessing";}
}

另外,index.jsp 中修改路径
在这里插入图片描述

结果如图:
在这里插入图片描述

通过实体类对象获取请求参数

使用普通 java 对象(POJO)获取参数值

简单示例:
首先,创建一个实体类 ParamUser ,定义账号和密码属性

package cn.edu.springmvcdemo.model;public class ParamUser {private int name;private String password;public ParamUser() {super();}public ParamUser(int name, String password) {this.name = name;this.password = password;}public int getName() {return name;}public String getPassword() {return password;}public void setName(int name) {this.name = name;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "ParamUser{" +"name=" + name +", password='" + password + '\'' +'}';}
}

接着,通过 ParamUser 对象来调用 get() 方法获取参数值
注:对象属性名字和请求参数名字需要保持一致

package cn.edu.springmvcdemo.controller;import cn.edu.springmvcdemo.model.ParamUser;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;@Controller
public class ParamDemo {@RequestMapping("/index")public String index1(){return "index";}//1.使用 @RequestParam 注解获取参数值@RequestMapping("/paramTest")public String paramTest(@RequestParam(required = false) Integer name,@RequestParam String password){System.out.println("账号 = " + name);System.out.println("密码 = " + password);return "accessing";}//2.使用 HttpServletRequest 直接获取参数值@RequestMapping("/paramHSR")public String paramHSR(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {req.setCharacterEncoding("UTF-8");int name = Integer.parseInt(req.getParameter("name"));String password = req.getParameter("password");System.out.println("账号 = " + name);System.out.println("密码 = " + password);return "accessing";}//3.POJO 传值方式获取参数值@RequestMapping("/paramUser")//设置实体类形参public String paramUser(ParamUser user){System.out.println("账号 = " + user.getName());System.out.println("密码 = " + user.getPassword());return "accessing";}
}

另外,index.jsp 中修改路径
在这里插入图片描述

结果如图:
在这里插入图片描述

下面简单介绍处理器 Controller 获取前端其他的请求信息的注解,了解即可。

@RequestHeader:用于将 HTTP 请求头中的参数值映射到处理器 Controller 方法参数中

  • 常用属性如下:
    – name:参数名称
    – required:boolean类型,默认为true,即请求头中必须包含此参数
    – defaultParameter:为请求头中的参数提供默认值

@CookieValue:用于从 HTTP 请求的 Cookie 中获取指定的值

  • 常用属性如下:
    – value:参数名称
    – required:boolean类型,默认为true,即请求头中必须包含此参数
    – defaultValue:设置 Cookie 的默认值
http://www.yayakq.cn/news/9914/

相关文章:

  • 深圳网站设计公司yx成都柚米科技15住建网查询
  • 化妆品网站建设推广方案智慧团手机网上登录入口
  • 免费做背景调查的网站wordpress自建搜索
  • 天气预报网站怎么做qq浏览器在线网页
  • 网站建设视频教程下载大连专业推广平台
  • 网站项目进度服务器租用网站模版
  • 科郑州网站建设创网网站后台管理系统
  • 网站推广码怎么做百度竞价排名机制
  • 制作网站的公司办什么营业执照没有做icp备案的网站
  • 域名备案网站购买vs做网站mvc
  • 番禺网站建设品牌好lol网站模板
  • 深圳建站公司外围济南官网
  • 自己可以建网站吗虚拟主机网站建设的几个步骤
  • 网站建设算什么服务类型聊天代理分销系统
  • 免费1级做爰片免费网站wordpress 顶部分类
  • 丰泰建设集团有限公司网站廊坊网络公司网站
  • 电子商务网站建设的好处有哪些宁夏网站开发设计说明书
  • 网站底部模板源码网站建设岗位的认知
  • 兰州企业网站优化梁山网站建设哪家便宜
  • 怎么才能成功做网站本地wordpress500
  • 网站流量如何突破电子商务商城网站建设
  • 找人做网站 网站定制开发泉州网站建设公司
  • 网站设计的导航栏怎么做济南建设网建筑市场信用信息管理平台
  • 金融网站建设报价方案济南做网站
  • 网站制作职业个人网站建设方案策划书
  • nas做网站服务器手机网站建设套餐内容
  • 如何自己弄个免费网站app制作平台排行
  • 医院信息化建设网站一个网站可以优化多少关键词
  • 北京的做网站公司视屏网站开发者工具无视频文件
  • 网站通知做文献的格式wordpress建站专家