问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javaweb查询输入空格+条件时查不结果怎么办

发布网友 发布时间:2022-04-23 05:31

我来回答

1个回答

热心网友 时间:2023-10-16 13:25

后台用*把所有提交到后台的参数做去空格处理

web.xml里面这样写

<filter>  
    <filter-name>blankFilter</filter-name>  
    <filter-class>com.che.mole.core.interceptors.BlankFilter</filter-class>  
</filter>

需要注意的是这个*必须放在编码*下面,否则会出现乱码的情况

BlankFilter.java:

public class BlankFilter extends OncePerRequestFilter{

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
                                    FilterChain filterChain) throws ServletException, IOException {
        ParameterRequestWrapper requestWrapper = new ParameterRequestWrapper(request);  
        filterChain.doFilter(requestWrapper, response);  
    }
}

requestWrapper.java:

public class ParameterRequestWrapper extends HttpServletRequestWrapper {

    private Map<String, String[]> params = new HashMap<String, String[]>();

    @SuppressWarnings("unchecked")
    public ParameterRequestWrapper(HttpServletRequest request) {
        // 将request交给父类,以便于调用对应方法的时候,将其输出,其实父亲类的实现方式和第一种new的方式类似  
        super(request);
        //将参数表,赋予给当前的Map以便于持有request中的参数  
        this.params.putAll(request.getParameterMap());
        this.modifyParameterValues();
    }

    //重载一个构造方法  
    public ParameterRequestWrapper(HttpServletRequest request, Map<String, Object> extendParams) {
        this(request);
        addAllParameters(extendParams);//这里将扩展参数写入参数表  
    }

    /**
     * 将parameter的值去除空格后重写回去  
     */
    public void modifyParameterValues() {
        Set<String> set = params.keySet();
        Iterator<String> it = set.iterator();
        while (it.hasNext()) {
            String key = it.next();
            String[] values = params.get(key);
            for (int i = 0; i < values.length; i++) {
                values[i] = values[i].trim();
            }
            params.put(key, values);
        }
    }

    @Override
    public String getParameter(String name) {//重写getParameter,代表参数从当前类中的map获取  
        String[] values = params.get(name);
        if (values == null || values.length == 0) {
            return null;
        }
        return values[0];
    }

    @Override
    public String[] getParameterValues(String name) {//同上  
        return params.get(name);
    }

    /**
     * 增加多个参数  
     * @param otherParams
     */
    public void addAllParameters(Map<String, Object> otherParams) {
        for (Map.Entry<String, Object> entry : otherParams.entrySet()) {
            addParameter(entry.getKey(), entry.getValue());
        }
    }

    /**
     * 增加参数
     * @param name
     * @param value
     */
    public void addParameter(String name, Object value) { 
        if (value != null) {
            if (value instanceof String[]) {
                params.put(name, (String[]) value);
            } else if (value instanceof String) {
                params.put(name, new String[] { (String) value });
            } else {
                params.put(name, new String[] { String.valueOf(value) });
            }
        }
    }
}

javaweb查询输入空格+条件时查不结果怎么办

} //重载一个构造方法 public ParameterRequestWrapper(HttpServletRequest request, Map&lt;String, Object&gt; extendParams) { this(request); addAllParameters(extendParams);//这里将扩展参数写入参数表 } /** * 将parameter的值去除空格后重写回去 */ public void modifyParamet...

急求java web代码,如图,点击精确查询,点击“确定”就可以精确查询,点击...

你后台根据radio的值进行判断就可以了 用一个if 比如精确查询的value 为1 模糊查询为0 radio控件的name为type String type =request.getParameter("type");if(type.equels("1")) { 执行精确查询逻辑 } else { 执行模糊查询逻辑 }

java 中的空格怎么写?

空格可以直接输入,例如System.out.println(" ");而如果用String表示那些符号的话,空格直接就是\t就行。其他的特殊符号:\\ 反斜杠 ;\' 单引号' ;\" 双引号" ;\uxxxx 以十六进制指定Unicode字符输出 ;\dxxx 以八进制指定Unicode字符输出 ;\b 倒退一个字符 ;\f 换页 ;\n 换行 ;\r...

Java web 程序部署成功,但是访问不到 什么原因

首先你确定你的项目是部署在你自己使用的电脑上,部署去访问人家的机子..还有 你的机子是windows么..你可以试试127.0.0.1,如果这个可以访问的话,可能就是你的Hosts文件对应的名字不同 打开C:\WINDOWS\system32\drivers\etc\hosts文件,看下最下面 最下面的:127.0.0.1 localhost,这两个参数你...

@NotEmpty、@NotBlank、@NotNull注释 区别

@NotNull注解不针对特定类型进行验证,因此它可以用于验证任何类型的对象。在实际应用中,根据需求选择合适的注解可以有效地提高代码的可读性和功能性。例如,在验证用户输入时,可以使用@NotBlank注解确保输入的字符串内容有效;而在处理数据库查询结果时,可以使用@NotNull注解确保结果对象不为null。

Web测试的主要内容和测试方法有哪些

16)搜索检查:存在或不存在内容,看搜索结果是否正确;多个搜索条件,同时输入合理和不合理条件;特殊字符 17)输入信息的位置 18)上传下载文件检查:功能是否实现, 上传:上传文件是否能打开、格式要求、系统是否有解释信息、将不能上传的文件格式修改后缀为可上传的文件格式; 下载:下载是否能打开、保存、格式要求 19)必填项...

java环境变量配置path(java环境变量配置不成功)

系统变量→新建CLASSPATH变量,变量值填写.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)系统变量配置完毕。检验是否配置成功运行cmd输入java-version(java和-version之间有空格)如果有输出结果说明配置成功。延展阅读:分类:企业版(JavaEE)JavaEE[1]??是一种利用Java2平台来简化...

java项目如何打包?

1.在DOS命令中,出现如下错误时,表示Main-Class没有在META-INF\MANIFEST.MF这个文件中配置。2.在DOS命令中,出现如下错误时,表示在Class-Path:或者在Main-Class:后面没有输入空格。2.怎么样把web项目打包成exe文件 我有一个比较另类的方法,就是用VMwareThinApp打包你的工程.单文件,免安装,可读...

部署多个Tomcat时出现报错怎么办?

1. **启动时报错 解决方案:检查每个Tomcat的配置文件,确保已正确设置不同端口。2. **项目启动时报错 解决方案:重新配置Java环境变量,确保使用正确的Java版本。具体步骤如下:- 使用命令`which java`确认当前使用的Java路径。- 列出该路径下的文件,观察其实际指向。- 确保指向正确的Java安装目录下的...

JAVA中Get和Post请求的区别收集整理

1.很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点。2.对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE。3.另外一个是,早期的但是Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计 。还有一个较为严重的问题...

java什么时候需要增加空格 web空格怎么打 javaweb空格 web输入空格代码 web前端中的空格怎么打出 java输出空格 java中的空格 java空格字符 java自动空格
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
胶原蛋白线双眼皮是不是永久性 双眼皮埋线是蛋白质还是尼龙绳-双眼皮埋线蛋白线多久能吸收 人体输液的“港口”完全植入式输液港 双眼皮宽变窄修复的方法 同心保家庭重疾险靠不靠谱?便宜吗? 做完双眼皮一宽一窄怎么办 喝全脂奶粉对长高有没有什么好处? redmine中“选择一个项目..."下拉列表框中为什么只列出一个项目,我建... 南充市龙门中学实力现在怎样?他的奥赛班是重点班么? 感情中为什么总是不知足呢? 嘉兴社保局网上查询 java,Filter中改变了参数,但接口类里获取不到 嘉兴个人社保缴费查询 为什么要继承HttpServletRequestWrapper类而不是实现HttpServletRequest接口 嘉兴的社保在网上怎么查啊 servlet重定向带请求header 浙江嘉兴个人社保查询个人账户 java修改请求参数的值 嘉兴怎么自己查社保 request转换问题 浙江嘉兴个人社保市民卡查询 核心:被struts2封装后的request(strutsRequestWrapper对象),在jsp页面中,getInputStream无法获取 嘉兴社保月缴费哪里查询 HttpServletRequestWrapper在struts2.3不管用 java servlet下 HttpServletRequestWrapper和filter的关系 支付宝快速转出银行卡额度? httpservletrequestwrapper怎么调用方法 支付宝转到银行卡限额是多少支付宝余额转银行卡可以单笔转六万五吗 从电脑支付宝转账到银行卡多少限额 求门面出租合同范本,谁有??? 1394网络适配器是什么 嘉兴市社保查询网址 如何修改request的parameter的几种方式 1394网络适配器 怎么使用 嘉兴社保查询个人账户查询 关于request.getParameter方法,帮忙解答 网络连接1394网络适配器 嘉兴市参保信息查询 如何修改request中parameter 1394网络适配器 嘉兴市社保卡查询官网 请直播分机号码,查号请拨零是什么意思 关于1394网络适配器 请问如何在网上查询浙江嘉兴的社会保险 求request.setAttribute()的jdk 实现源码没找到,还有jdk 源码中有的属性 1394 网络适配器 浙江嘉兴养老保险查询个人账户 jsp内置的request对象实际什么类型啊 1394网络适配器的作用 浙江嘉兴市社保查询