form提交地址地址正确但是依旧报错404找不到路径

---恢复内容开始---

我的jsp中保含了“>=”和“<=”符号,form提交的时候会有个标签校验,如下:

private static boolean validateRequestParam(HttpServletRequest request,
            HttpServletResponse response) {
        boolean checkFlag = true;
        Pattern SCRIPT_PATTERN = Pattern.compile(".*<\\/script\\s*>");
        Pattern IFRAME_PATTERN = Pattern.compile("javascript:*");
        Pattern HTML_PATTERN = Pattern.compile("<[^>]+>");//标签校验
        response.setCharacterEncoding("UTF-8");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setHeader("Cache-Control", "no-store");
        response.setDateHeader("Expires", 0L);

        Map paramMap = request.getParameterMap();
        String lowStr = null;
        Iterator itr = paramMap.keySet().iterator();
        while (itr.hasNext()) {
            String ok = (String) itr.next();
            String[] value = (String[]) paramMap.get(ok);
            for (int k = 0; k < value.length; ++k) {
                lowStr = value[k];

                /*Matcher mHtml = HTML_PATTERN.matcher(lowStr);
                if (mHtml.find()) {
                    checkFlag = false;
                }*/

                Matcher m = SCRIPT_PATTERN.matcher(lowStr);
                if (m.find()) {
                    checkFlag = false;
                }

                Matcher iframeMatcher = IFRAME_PATTERN.matcher(lowStr);
                if (iframeMatcher.find()) {
                    checkFlag = false;
                }

                if ((lowStr.contains("ascii(")) || (lowStr.contains("ascii ("))
                        || (lowStr.contains("chr("))
                        || (lowStr.contains("chr ("))) {
                    checkFlag = false;
                }

                if ((!(lowStr.contains("alter ")))
                        && (!(lowStr.contains("create ")))
                        && (!(lowStr.contains("truncate ")))
                        && (!(lowStr.contains("drop ")))
                        && (!(lowStr.contains("lock table")))
                        && (!(lowStr.contains("insert ")))
                        && (!(lowStr.contains("update ")))
                        && (!(lowStr.contains("delete ")))
                        && (!(lowStr.contains("select ")))
                        && (!(lowStr.contains("grant "))))
                    continue;
                checkFlag = false;
            }

        }

        return checkFlag;
    }

当我的form提交之后就会报错404路径找不到,其实路径地址是正确的。之所以会报错404是因为你的form中包含了<>,在校验的时候会认为这是一套标签过滤掉,上述校验不通过,所以会报错404。

form提交地址地址正确但是依旧报错404找不到路径_第1张图片

我的jsp代码如下:






    




            action="${pageContext.request.contextPath}/DATA_Analyse_Set/Insert"
        method="post" modelAttribute="DATA_Analyse_SetForm"
        class="form-horizontal">
        
        
            
                
            
            
                
                
                
                
            
            
                
                
            
            
                
                
            
        
        
            

                    
                

        

                    class="table table-striped table-bordered table-condensed tbl_page">

            
                
                    No.
                                                code="aml.label.dataanaylse.paramCnName" />
                                                code="aml.label.dataanaylse.paramValue" />
                                                code="aml.label.dataanaylse.paramDesc" />
                                                code="aml.label.dataanaylse.paramEnable" />
                
            
            
                
                    
                    
                    1
                    *                             code="aml.label.dataanaylse.countObj" />
                                                id="countObj">
                            
                                
                            

                            
                                
                            

                            
                                
                            

                        

                                                type="text" class=".input-small" maxlength="30" value="数据统计对象" />
                                            onclick="setStatus(this,'countObj')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    2
                    *                             code="aml.label.dataanaylse.tradeType" />
                                                id="tradeType">
                            
                            
                        

                                                type="text" class=".input-small" maxlength="30" value="01-转账;00-现金" />
                                            onclick="setStatus(this,'tradeType')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    3
                    
                                                     code="aml.label.dataanaylse.termLength" />
                    
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="数据统计期间,单位:天" />
                                            onclick="setStatus(this,'termLength')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    4
                                                 code="aml.label.dataanaylse.reportRequire" />
 
                                                id="reportRequire">
                            
                            
                        
        
                                 
                                                path="reportRequireDesc" type="text" class=".input-small"
                            maxlength="30" value="1:是 0:否 "/>
                                            onclick="setStatus(this,'reportRequire')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    5
                                                 code="aml.label.dataanaylse.ruleWeighe" />
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="权重:0-1"/>
                                            onclick="setStatus(this,'ruleWeighe')" checked="checked"
                        class=".input-small" maxlength="30" />
                  
                
                    
                    
                    6
                                                 code="aml.label.dataanaylse.ruleScore" />
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="分值:0-100"/>
                                            onclick="setStatus(this,'ruleScore')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    7
                    
                                                     code="aml.label.dataanaylse.tradeTimes" />
                    
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="交易笔数大于等于对应值"/>
                                            onclick="setStatus(this,'tradeTimes')" checked="checked"
                        class=".input-small" maxlength="30" />
                
     

                
                    
                    
                    8
                    *                             code="aml.label.dataanaylse.customerType" />
                                                id="customerType">
                            
                            <%--edit by hlp 20170705 --%>
                        

                                                type="text" class=".input-small" maxlength="30" value="客户类型"/>
                                            onclick="setStatus(this,'customerType')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    9
                    
                                                     code="aml.label.dataanaylse.tradeDays" />
                    
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="连续交易天数"/>
                                            onclick="setStatus(this,'tradeDays')" checked="checked"
                        class=".input-small" maxlength="30" />
                
             
                
                    
                    
                    11
                    
                                                     code="aml.label.dataanaylse.repayFlag" />
                    
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="提前还款标志"/>
                                            onclick="setStatus(this,'repayFlag')" checked="checked"
                        class=".input-small" maxlength="30" />
                

                
                    
                    
                    12
                                                 code="aml.label.dataanaylse.paperType" />
                                            path="paperType">
                        
                        
                    

                                                type="text" class=".input-small" maxlength="30" value="客户证件类型"/>
                                            onclick="setStatus(this,'paperType')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    13
                                                 code="aml.label.dataanaylse.vocationType" />
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="职业/经营范围"/>
                                            onclick="setStatus(this,'vocationType')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    14
                                                 code="aml.label.dataanaylse.customerAddress" />
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="客户住址"/>
                                            onclick="setStatus(this,'customerAddress')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                    
                    
                    15
                                                 code="aml.label.dataanaylse.paperCode" />
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="客户证件号码"/>
                                            onclick="setStatus(this,'paperCode')" checked="checked"
                        class=".input-small" maxlength="30" />
                
                
                
                
                    
                    
                    16
                                                 code="aml.label.dataanaylse.registrationMoney" />
                                                class=".input-small" maxlength="30" />
                                                type="text" class=".input-small" maxlength="30" value="注册资金大于等于当前值"/>
                                            onclick="setStatus(this,'registrationMoney')" checked="checked"
                        class=".input-small" maxlength="30" />
                
 
            
        




    



---恢复内容结束---

你可能感兴趣的:(form提交地址地址正确但是依旧报错404找不到路径)