您的位置:首页 > 其它

GET重定向url带特殊字符参数拼接问题的解决

2017-05-26 17:07 465 查看
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        StringBuffer sb = new StringBuffer();

        String valueurl = null;

        Map<String, String[]> map = request.getParameterMap();

        

        for (Entry<String, String[]> str : map.entrySet()) {

            String[] value = str.getValue();

            StringBuffer values = new StringBuffer();

            for (int i = 0; i < value.length; i++) {

                values.append(value[i]);

            }

            if ("url".equals(str.getKey())) {

                valueurl = values.toString();

                continue;

            } else {

                sb.append("&" + str.getKey() + "=" + values);

            }

        }

        

        String url = valueurl + sb.toString();

        System.out.println(url);

        String tbName = Const.getPropertyByName("conf", "TBNAME");

        String addr = request.getRemoteAddr();

        System.out.println(addr);

        response.sendRedirect(url);

        try {

            String sql = "insert into " + tbName + " (count,ip_addr,url) values (?,?,?)";

            PreparedStatement pst = DB.getConn().prepareStatement(sql);

            pst.setInt(1, count);

            pst.setString(2, addr);

            pst.setString(3, url);

            pst.execute();

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        count++;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: