一、获取请求参数通用方式

1. String getParameter(String name):根据参数名称获取参数值 例:username=flypig&password=2343

2. String[] getParameterValues(String name):根据参数名称获取参数值的数组  例:hooby=xx&hobby=name

3. Enumeration<String> getParameterNames():获取所有请求的参数名称

4. Map<String, String[]> getParameterMap():获取所有参数的map集合

 @WebServlet("/RequestDemo6")
public class RequestDemo6 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//post 获取请求参数 //根据参数名称获取参数值
String username = request.getParameter("username");
// System.out.println("post");
// System.out.println(username); //根据参数名称获取参数值的数组
String[] hobbies = request.getParameterValues("hobby");
// for (String hobby : hobbies) {
// System.out.println(hobby);
// } //获取所有请求的参数名称 Enumeration<String> parameterNames = request.getParameterNames();
// while(parameterNames.hasMoreElements()){
// String name = parameterNames.nextElement();
// System.out.print(name+":");
// String value = request.getParameter(name);
// System.out.println(value);
// } //获取所有参数的map集合
Map<String, String[]> parameterMap = request.getParameterMap();
//遍历
Set<String> keySet = parameterMap.keySet();
for (String name : keySet){ //根据键获取值
String[] values = parameterMap.get(name);
System.out.println(name);
for (String value : values) {
System.out.println(value);
}
System.out.println("--------------");
} } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//get获取请求参数 //根据参数名称获取参数值
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username); this.doPost(request,response);
}
}

二、解决乱码问题

解决请求参数中文乱码问题:

  * get方式:tomcat 8已经将get方式乱码问题解决

  * post方式:会乱码

    *解决:在获取参数前,设置request的编码request.setCharacterEncoding("utf-8")

 @WebServlet("/RequestDemo7")
public class RequestDemo7 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置流的编码
request.setCharacterEncoding("utf-8"); //post 获取请求参数username
String username = request.getParameter("username");
System.out.println(username); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//get获取请求参数 //根据参数名称获取参数值
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username); this.doPost(request,response);
}
}

入门servlet:request获取请求参数通用方式的更多相关文章

  1. request获取请求参数通用方式

    package com.hopetesting.web.request;import javax.servlet.ServletException;import javax.servlet.annot ...

  2. request 获取请求参数

    /** * 根据request获取请求的用户参数 * @return * @return */ protected <T> T getParamConvertEntity(Class cl ...

  3. Servlet中获取请求参数问题

    1.GET方法,可以通过getParamter方法反复获取同一个变量的数据: 2.POST方法,需要注意请求类型(content-Type)是否是application/x-www-form-urle ...

  4. request获取请求参数

    /** * 方式1 */ Enumeration<?> enu=request.getParameterNames(); while(enu.hasMoreElements()){ Str ...

  5. request对象常用API 获取请求参数的值 request应用 MVC设计模式

    1 request对象常用API   1)表示web浏览器向web服务端的请求   2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1     ...

  6. Servlet请求参数的方式

    今天整理了以下几种常用的Servlet请求参数的方式,下面简单地介绍 1)getParameter(String key)返回一个字符串,获得name和key 一样的表单控件的数据,如果有重复的nam ...

  7. struts2获取请求参数的三种方式及传递给JSP参数的方式

    接上一篇文章 package test; import com.opensymphony.xwork2.ActionSupport; import javax.servlet.http.*; impo ...

  8. springMVC(spring)+WebSocket案例(获取请求参数)

    开发环境(最低版本):spring 4.0+java7+tomcat7.0.47+sockjs 前端页面要引入: <script src="http://cdn.jsdelivr.ne ...

  9. ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段

      ServletRequest 基本概念 JavaWeb中的 "Request"对象  实际为   HttpServletRequest  或者  ServletRequest, ...

随机推荐

  1. 执行sql查询,并查看语句执行花费时间

    declare @d datetimeset @d=getdate() select * from A PRINT '[语句执行花费时间(毫秒)]'+LTRIM(datediff(ms,@d,getd ...

  2. Node中的模块系统

    加载require var 自定义变量名称 = require('模块') 两个作用: 执行被加载模块的代码 得到被加载模块中的exports导出接口对象 导出exports node中是模块作用域, ...

  3. 2016.10.29初中部上午NOIP普及组比赛总结

    2016.10.29[初中部 NOIP普及组 ]模拟赛 做得好爽! 进度: 比赛:35+45+AC+0=180 改题:AC+AC+AC+0=300 幸运的数 有点无语--之前怕超限,还特意利用程序打了 ...

  4. Nginx 和 Gunicorn 部署 Django项目

    目录 Nginx 和 Gunicorn 部署 Django项目 配置Nginx 安装配置Gunicorn 通过命令行直接启动 Gunicorn 与 uwsgi 的区别,用哪个好呢 Gunicorn u ...

  5. Jenkins 简单安装使用

    一.介绍 Jenkins 是一款业界流行的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能.由于 jenkins是基于java环境运行的,所以首先需要安装java环境 二.安装 1 ...

  6. Android HttpClient 用法以及乱码解决

    一.Post提交 并可以实现多文件上传 // 创建DefaultHttpClient对象 HttpClient httpclient = new DefaultHttpClient(); // 创建一 ...

  7. 服务器重启,自动重启httpd

    1. 手动重启 cd http ll cd /etc/httpd/   ll service httpd restart 2. 查看服务器内存使用情况 df -h 3. 自动重启 cat /etc/i ...

  8. malloc在函数内分配内存问题

    malloc函数用法可参考:C语言中 malloc函数用法 及 malloc函数 代码: void fun(char * p) { p=(); } void main() { char *p; fun ...

  9. iOS之CALayer属性简介

    /* CoreAnimation - CALayer.h Copyright (c) 2006-2017, Apple Inc. All rights reserved. */ #import < ...

  10. PAT甲级——A1081 Rational Sum

    Given N rational numbers in the form numerator/denominator, you are supposed to calculate their sum. ...