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

网站开发工程师介绍汽车网站建设网

网站开发工程师介绍,汽车网站建设网,石英石台面做网单有什么网站,域名查询中国万网通过ServletAPI获取请求参数将HttpServletRequest作为控制器方法的形参&#xff0c;此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象。html<form th:action"{/param/servletAPI}" method"post">用户名&#xff1a;<input ty…

通过ServletAPI获取请求参数

  • 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的

参数表示封装了当前请求的请求报文的对象。

html

<form th:action="@{/param/servletAPI}" method="post">用户名:<input type="text" name="username"><br>密码:<input type="text" name="password"><br><input type="submit" value="登录"><br>
</form>

controller

    @RequestMapping("/param/servletAPI")
//    要用servlet的API,只需在控制器方法的参数设置public String getParmByServletAPI(HttpServletRequest request){String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username:"+username);System.out.println("password:"+password);return "success";}

通过控制器方法的形参获取请求参数

浏览器和服务器的参数名称一致情况

  • 只需要在控制器方法的形参位置,设置一个形参,

形参的名字要和请求参数的名字一致即可。

html

<form th:action="@{/param}" method="post">用户名:<input type="text" name="username"><br>密码:<input type="text" name="password"><br><input type="submit" value="登录"><br>
</form>

controller

  @RequestMapping("/param")public String getParam(String username,String password){System.out.println("username:"+username);System.out.println("password:"+password);return "success";}

参数名称不一致情况用@RequestParam注解

@RequestParam是将请求参数和控制器方法的形参创建映射关系。

@RequestParam注解的三个属性:

value:设置绑定的请求参数的名字
required:设置是否必须传输此请求参数,默认值为true,
表示当前请求必须传输value所指定的请求参数,否则报错400
defaultValue:设置当没有传输value所对应的请求参数时,
为形参设置的默认值,此时和required属性值无关。
    @RequestMapping("/param")public String getParam(@RequestParam("userName") String username, String password){System.out.println("username:"+username);System.out.println("password:"+password);return "success";}

@RequestHeader注解将请求头信息和控制器方法形参绑定

@CookieValue将Cookie数据和控制器方法的形参绑定

通过pojo获取请求参数

  • 通过控制器方法的实体类形的形参获取请求参数

需要在控制器方法的形参位置设置实体类类型的形参,
保证实体类类中属性的属性名和请求参数的名字一致,
那么请求参数就会为此属性赋值,
然后就可以通过实体类类型的形参获取请求参数。

实体类

public class User {private Integer id;private String username;private String password;public User() {}.......
}

html

<form th:action="@{/param/pojo}" method="post">用户名:<input type="text" name="username"><br>密码:<input type="text" name="password"><br><input type="submit" value="登录"><br>
</form>

controller

    @RequestMapping("/param/pojo")
//    前提是保证属性名和请求参数的名字一致public String getParamByPojo(User user){System.out.println("user:"+user);return "success";}

解决获取请求参数乱码问题

在控制器方法中写解决乱码问题的代码是不行的:

因为在DispatcherServlet已经将请求参数获取过了,
然后才可以在形参位置获取,所以在这里设置解决编码问题没有用了。
注意:设置编码代码有个要求,在设置编码之前,
一定不能获取任意请求参数,只要获取了设置的编码就没有作用。

在web.xml配置编码过滤器CharacterEncodingFilter

<!--  编码过滤器:--><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><!--  所使用的的框架有默认的编码的,还需要设置自定义编码--><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><!--  如果只设置上面的初始化参数,那么只会来设置请求的编码,如果下面的也设置了,不但设置请求的编码而且还会设置响应的编码  --><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

http://www.yayakq.cn/news/717812/

相关文章:

  • 2023全民核酸又开始了网站制作优化全包
  • wordpress 添加过滤器Wordpress网站能做seo吗
  • 招聘做牙技工的网站网站营销外包公司
  • 百度站长工具如何使用wordpress oss官方
  • 集团网站建网站开发 招聘 龙岩
  • 韩国做美食网站做东西的网站有那些
  • 浙江网站建设价格彻底关闭qq顶部小程序入口
  • 网站建设数据库软件图书馆建设网站需要哪些费用
  • 大连设计网站的公司青岛公司网站建设价格低
  • 域名到期了网站会打不开吗建站软件可以不通过网络建设吗
  • 礼品册兑换 网站建设建设一个视频网站己18
  • wordpress 顶一下登封做网站优化
  • 网站目标定位分析网页制作模板及素材
  • 做网站的属于什么专业建站工具评测 discuz
  • 网站建设的空间选择旅游电子商务网站有哪些
  • 淘客网站佣金建设织梦网站图片不显示图片
  • 珠海做网站哪家专业wordpress还原恢复数据库
  • 织梦网站seo工程公司年终工作总结
  • 青岛工程建设管理信息网官方网站拓者设计吧app下载
  • 易优cms仿站教程做百度推广网站被攻击
  • 烟台网站建设seo网站建设 重庆
  • 企业网站后台管理系统观澜做网站
  • 心雨在线高端网站建设专业沛县网站建设
  • 贵州省建设厅网站文件网站开发与网站设计区别
  • 织梦欧美网站模板百度网站优化工具
  • 开发公司属于什么行业搜索引擎关键词快速优化
  • 网站后台怎么打开自动推广工具
  • 国内做网站上市公司seo网站关键词快速排名
  • 国外网站搭建平台asp.net mvc 5网站开发之美
  • 系部网站建设中期检查总结WordPress4.5取消了