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<String, Object> 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当作抽象的资源来看待和设计 。还有一个较为严重的问题...