`
wooce
  • 浏览: 184243 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

代替request.getParameter("...")的QueryStringParser类

    博客分类:
  • Java
阅读更多
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.HashMap;
import java.net.URLDecoder;

/**
 * Copyright (c) 2008
 * Author: Wooce Yang
 * Date: 2008-1-29
 * Time: 10:12:47
 * Description:  解决resin服务器上取不到urlencode后的中文参数的问题,需要自己从queryString中解析
 */
public class QueryStringParser {
    Map paramMap;
    HttpServletRequest request;

    public QueryStringParser(HttpServletRequest request) {
        String queryString = request.getQueryString();
        if (queryString == null) {
            paramMap = null;
            this.request = request;
            return;
        } else
            paramMap = new HashMap();
        StringTokenizer st = new StringTokenizer(queryString, "&");
        while (st.hasMoreTokens()) {
            String pairs = st.nextToken();
            String key = pairs.substring(0, pairs.indexOf('='));
            String value = pairs.substring(pairs.indexOf('=') + 1);
            paramMap.put(key, value);
        }
    }

    public String get(String key) {
        if(paramMap==null)
            return request.getParameter(key);
        else
            return URLDecoder.decode((String) paramMap.get(key));
    }
}


使用方法:

        QueryStringParser parser = new QueryStringParser(request);
        String curPath = parser.get("curpath");


1
3
分享到:
评论
1 楼 liuxuejin 2011-08-19  
除了这个方法还有其他的吗???

相关推荐

    request.getParameter() 和request.getAttribute() 区别

    在探讨`request.getParameter()`与`request.getAttribute()`的区别之前,我们首先需要理解这两个方法的基本概念以及它们在Java Web开发中的作用。 ### `request.getParameter()` `request.getParameter()`是...

    tomcat request.getParameter 乱码

    ### Tomcat中request.getParameter出现乱码的问题解析及解决方法 #### 一、问题背景与现象描述 在Java Web开发过程中,经常会遇到通过`HttpServletRequest`对象的`getParameter`方法获取前端表单提交的数据时出现...

    解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法 ?

    在探讨“解决当FORM的ENCTYPE='multipart/form-data'时request.getParameter()获取不到值的方法”这一主题时,我们首先需要理解为什么在特定情况下,传统的`request.getParameter()`方法无法正常工作,以及如何通过...

    java request.getParameter中文乱码解决方法

    java request.getParameter中文乱码解决方法 在 Java Web 开发中,request.getParameter() 获取 URL 中文参数乱码是非常常见的问题。今天,我们将分享几个解决中文乱码的方法,以便大家可以参考。 问题分析 在 ...

    了解JSP中request属性的用法

    request.getParameter() 和 request.getAttribute() 是两个最常用的方法来获取客户端的请求信息,但是它们的用法和作用域却有很大的区别。 request.getParameter() 方法是用来获取客户端通过 HTTP 协议传递的参数,...

    java 页面上有ENCTYPE="multipart/form-data" 时action方法或者控制层用request.getParameter()获取不到值的方法 ?

    如果你不想引入额外的库,还可以创建一个自定义的`HttpServletRequestWrapper`类,重写`getParameter()`方法以处理多部分请求。这样,你可以在控制器方法中继续使用`request.getParameter()`。 综上所述,当你遇到...

    request.getParameter()取值为null的解决方法

    在Web开发中,获取客户端传递给服务器的数据是一种常见需求,通常使用`request.getParameter()`方法从`HttpServletRequest`对象中获取表单数据或者URL参数。然而,在实际应用中,开发者有时会遇到`request....

    解决上传图片时request.getParameter是空值的java类

    encType="multipart/form-data" 根据上传不同,主要分两步,可以有效的解决request.getParameter(String s)是null值

    request.getParameterMap()返回的是String []数组1

    `request.getParameterMap()`、`request.getParameter()`和`request.getParameterValues()`是三个重要的方法,它们分别用于获取不同类型的请求参数。接下来,我们将深入探讨这三个方法的功能、用法以及它们之间的...

    数据库测试test.sql

    // String methodName = request.getParameter("method"); // // //根据method属性的值调用相应的方法 // if("login".equals(methodName)){ // this.login(request,response); // }else if("register".equals(method...

    hibernate sprint 封装应用

    String xm = request.getParameter("xm"); String rxsj = request.getParameter("rxsj"); String yx = request.getParameter("yx"); String zy = request.getParameter("zy"); String sf = request.getParameter("sf...

    基于request.getAttribute与request.getParameter的区别详解

    在Java Servlet和JSP开发中,`HttpServletRequest`接口提供了两种主要的方法来获取客户端发送到服务器的数据:`getAttribute()`和`getParameter()`。它们虽然都用于获取请求中的数据,但有着本质的区别,下面将详细...

    北大青鸟U2项目完全版

    String canshu=request.getParameter("canshu"); YonghuService yhs=new YonghuServiceImpl(); if(canshu.equals("tianjia")){ String gysname=request.getParameter("proName"); String gysmiaoshu=...

    神州付支付接口JSP示例

    String version = request.getParameter("version"); //获取神州付支付接口的版本号 String merId = request.getParameter("merId"); //获取商户ID String payMoney = request.getParameter("payMoney"); //获取...

    简单的注册页面

    您的姓名是:<%=request.getParameter("name")%> 您的密码是:<%=request.getParameter("pwd")%> 你的职业是:<%=request.getParameter("career")%> 喜欢的城市有:<%=request.getParameter("city")%>...

    JSP用过滤器解决request getParameter中文乱码问题.docx

    在这个JSP页面中,我们使用`request.getParameter("data")`获取名为"data"的参数,并将其打印出来。如果过滤器配置正确,那么中文参数应该能够正确显示,而不会出现乱码。 总的来说,通过在过滤器中设置合适的字符...

    Jsp的request的用法

    在本篇文章中,我们将深入探讨`request.getParameter()`和`request.setAttribute()`以及`request.getAttribute()`的区别,并提供相关示例来帮助理解它们的用法。 **一、request.getParameter() 和 request....

    其他类别JSP无限级分类目录树-sorttree.zip

    String dsn=request.getParameter("dsn"); String user=request.getParameter("user"); String password=""; String sql=request.getParameter("sql"); request.setCharacterEncoding("gb2312"); response....

    微信公众平台JAVA版【绝对可用】

    String signature=request.getParameter("signature"); String timestamp=request.getParameter("timestamp"); String nonce=request.getParameter("nonce"); String echostr=request.getParameter...

Global site tag (gtag.js) - Google Analytics