使用GET和POST请求和参数

    技术2022-07-10  126

    HTTP GET 和HTTP POST是开发web应用的两种最重要的请求方法。两者的区别是POST有体(body),而GET没有。

    POST与GET不同:

    POST没有查询字符串,请求行后面的几行都是请求头。长度不受请求行的限制。

    如果用户希望能够收藏网页,GET能够请求收藏,但POST请求不能

    两者的安全性也不同,GET将请求信息放在URL,POST放在报文体中

    具体用途不同,GET请求意味着获取信息,进行简单的、周期性的检索。POST请求亦为之发送需要处理的信息,去更新

    GET和POST请求的编程

    POST请求需要表单,在标签中使用method属性指定HTTP方法为POST,使用action属性指定表单提交的地址。

    代码:

    我的第一个HTML页面

    姓名:

    密码:

    GET请求可以使用两种方式:

    第一种方式直接使用超链接,超链接总是使用GET请求,代码如下:

    点击

    第二种方法使用表单,既可以不指定标签的method属性,也可以明确指定标签的method属性为GET,代码如下:

    我的第一个HTML页面

    姓名:

    密码:

    点击

    使用参数 Servlet编程中的一个重要环节是接收用户的输入参数,然后才能进行后面的处理环节。接收输入参数的具体方法是调用request对象的getParameter()方法,该方法的输入参数是一个字符串变量,指定参数的名称,该名称对应表单输入组件的name属性。例如,对于前面的login.html,接收参数的代码片段如下:

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

    // TODO Auto-generated method stub

    response.setCharacterEncoding(“UTF-8”);

    //response.getWriter().append("Served at: ").append(request.getContextPath());

    response.setHeader(“Content-type”, “text/html;charset=UTF-8”);

    //获取参数

    String username = request.getParameter(“username”);

    String userpwd = request.getParameter(“userpwd”);

    String gender = request.getParameter(“gender”);

    String email = request.getParameter(“email”);

    String resume = request.getParameter(“resume”);

    String[] hobbies = request.getParameterValues(“hobbies”);

    }

    大部分的表单输入参数都只有单个值,都可以采用上述方法获取参数。但也有例外的情况,如复选框,一个参数可以有多个值。 在这种情况下,就不能再使用只返回单个字符串的getParameterf()方法,而是要使用getParameterValues()方法,返回一个字符串数组。

    例如,如果表单使用如下的复选框,用户就可以选择多个值。也就是说,单个参数hobbies就可以有多个值,具体值的个数取决于用户选中的选项数:

    爱好:跳舞

    唱歌

    音乐

    游泳

    足球

    Processed: 0.014, SQL: 9