servlet(获取请求参数)

servlet获取请求参数

文章目录

  • 一、获取请求参数
    • 1.请求参数的概念
    • 2.浏览器端发送请求参数的基本形式
    • 3.服务器端对请求参数的封装
    • 4.获取请求参数的方法
    • 5.测试


一、获取请求参数

1.请求参数的概念

浏览器在给服务器发送请求的同时,携带的参数数据。


2.浏览器端发送请求参数的基本形式

  • URL地址后面附着的请求参数

/orange/CharacterServlet?username=汤姆

  • 表单
  • Ajax请求(将来会学到)

3.服务器端对请求参数的封装

总体上来说,服务器端将请求参数封装为Map

  • 键:请求参数的名字
  • 值:请求参数的值组成的数组

4.获取请求参数的方法

方法名 返回值类型
request.getParameterMap() Map
request.getParameter(“请求参数的名字”) String
request.getParameterValues(“请求参数的名字”) String []
request.getParameterNames() Enumeration

5.测试

①HTML代码


<form action="/orange/ParamServlet" method="post">

    
    
    
    
    个性签名:<input type="text" name="signal" value="单行文本框的默认值" /><br/>

    
    
    
    密码:<input type="password" name="secret" /><br/>

    
    
    
    
    
    请选择你最喜欢的季节:
    <input type="radio" name="season" value="spring" />春天
    <input type="radio" name="season" value="summer" checked="checked" />夏天
    <input type="radio" name="season" value="autumn" />秋天
    <input type="radio" name="season" value="winter" />冬天

    <br/><br/>

    你最喜欢的动物是:
    <input type="radio" name="animal" value="tiger" />路虎
    <input type="radio" name="animal" value="horse" checked="checked" />宝马
    <input type="radio" name="animal" value="cheetah" />捷豹

    <br/>

    
    
    
    你最喜欢的球队是:
    <input type="checkbox" name="team" value="Brazil"/>巴西
    <input type="checkbox" name="team" value="German" checked="checked"/>德国
    <input type="checkbox" name="team" value="France"/>法国
    <input type="checkbox" name="team" value="China" checked="checked"/>中国
    <input type="checkbox" name="team" value="Italian"/>意大利

    <br/>

    
    
    你最喜欢的运动是:
    <select name="sport">
        
        
        <option value="swimming">游泳option>
        <option value="running">跑步option>

        
        <option value="shooting" selected="selected">射击option>
        <option value="skating">溜冰option>
    select>

    <br/>

    <br/><br/>

    
    
    
    <input type="hidden" name="userId" value="234654745" />

    
    自我介绍:<textarea name="desc">多行文本框的默认值textarea>

    <br/>

    
    <button type="button">普通按钮button>

    
    <button type="reset">重置按钮button>

    
    <button type="submit">提交按钮button>
form>

#②Java代码

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    // 获取包含全部请求参数的Map
    Map<String, String[]> parameterMap = request.getParameterMap();

    // 遍历这个包含全部请求参数的Map
    Set<String> keySet = parameterMap.keySet();

    for (String key : keySet) {

        String[] values = parameterMap.get(key);

        System.out.println(key + "=" + Arrays.asList(values));
    }

    System.out.println("---------------------------");

    // 根据请求参数名称获取指定的请求参数值
    // getParameter()方法:获取单选框的请求参数
    String season = request.getParameter("season");
    System.out.println("season = " + season);

    // getParameter()方法:获取多选框的请求参数
    // 只能获取到多个值中的第一个
    String team = request.getParameter("team");
    System.out.println("team = " + team);

    // getParameterValues()方法:取单选框的请求参数
    String[] seasons = request.getParameterValues("season");
    System.out.println("Arrays.asList(seasons) = " + Arrays.asList(seasons));

    // getParameterValues()方法:取多选框的请求参数
    String[] teams = request.getParameterValues("team");
    System.out.println("Arrays.asList(teams) = " + Arrays.asList(teams));

}

你可能感兴趣的:(javaweb,servlet,java,前端)