servlet处理http请求7

本文介绍了客户端发送HTTP请求的不同方式及如何通过HttpServletRequest接口获取请求参数。详细解释了getParameter、getParameterValues等方法,并提供了表单提交时处理中文乱码的解决方案。

客户端发送请求的方式
1.地址栏直接输入url
2.超链接指定的url
3.表单form的action指定的url
4.js的location.href指定url
如果要想获取http请求的参数就需要明白HttpServletRequest接口,这个接口处理http请求
由容器实现,开发中直接从domethod的参数中获取实例
获取请求参数的方法:
使用HttpServletRequest提供的方法获取参数
getParameter
getParameterValues 返回数组
getParameterNames 获取所有参数名
getParameterMap 获取所有参数名与参数值
如果表单有指定属性enctyoe=“multipart/from-data”,则以上方法无效
超链接来传值

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String name = request.getParameter("name");
        String gender = request.getParameter("gender");
        System.out.println(name);
        System.out.println(gender);
        System.out.println("--------------------");
        String[] names = request.getParameterValues("name");
        for (String n : names) {
            System.out.println(n);
        }
        System.out.println("--------------------");
        Enumeration<String> params = request.getParameterNames();
        while (params.hasMoreElements()) {
            String param = params.nextElement();
            System.out.println(param + ":" + request.getParameter(param));
        }
        System.out.println("--------------------");
        Map<String, String[]> map = request.getParameterMap();
        Set<String> keys=map.keySet();
        for (String key : keys) {
            System.out.println(key+":"+map.get(key));
        }
    }

表单来获取


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

        request.setCharacterEncoding("UTF-8");
        String userName = request.getParameter("username");
        System.out.println(userName);
        System.out.println(request.getParameter("userpwd"));
        System.out.println(request.getParameter("gender"));
        String[] favors = request.getParameterValues("favors");
        if (favors != null) {
            for (String favor : favors) {
                System.out.println(favor);
            }
        }
        System.out.println(request.getParameter("cities"));
        System.out.println(request.getParameter("description"));
        System.out.println("--------------------");
        Enumeration<String> params = request.getParameterNames();
        while (params.hasMoreElements()) {
            String param = params.nextElement();
            System.out.println(param + ":" + request.getParameter(param));
        }
        System.out.println("--------------------");
        Map<String, String[]> map = request.getParameterMap();
        Set<String> keys=map.keySet();
        for (String key : keys) {
            System.out.println(key+":"+map.get(key));
        }
    }

request.setCharacterEncoding(“UTF-8”);解决中文乱码问题,且要加载最前面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值