bos项目day04区域条件查询:报错ERROR DefaultDispatcherErrorHandler:42

来源:互联网 发布:编译c 的软件 编辑:程序博客网 时间:2024/06/10 10:56

报错如下:

21:23:46,006  INFO StatisticalLoggingSessionEventListener:258 - Session Metrics {    0 nanoseconds spent acquiring 0 JDBC connections;    0 nanoseconds spent releasing 0 JDBC connections;    0 nanoseconds spent preparing 0 JDBC statements;    0 nanoseconds spent executing 0 JDBC statements;    0 nanoseconds spent executing 0 JDBC batches;    0 nanoseconds spent performing 0 L2C puts;    0 nanoseconds spent performing 0 L2C hits;    0 nanoseconds spent performing 0 L2C misses;    0 nanoseconds spent executing 0 flushes (flushing a total of 0 entities and 0 collections);    0 nanoseconds spent executing 0 partial-flushes (flushing a total of 0 entities and 0 collections)}Hibernate: select count(area0_.C_ID) as col_0_0_ from T_AREA area0_ where 1=1Hibernate: select * from ( select area0_.C_ID as C_ID1_1_, area0_.C_CITY as C_CITY2_1_, area0_.C_CITYCODE as C_CITYCODE3_1_, area0_.C_DISTRICT as C_DISTRICT4_1_, area0_.C_POSTCODE as C_POSTCODE5_1_, area0_.C_PROVINCE as C_PROVINCE6_1_, area0_.C_SHORTCODE as C_SHORTCODE7_1_ from T_AREA area0_ where 1=1 ) where rownum <= ?Area [id=QY043, province=天津市, city=天津市, district=南开区, postcode=120104, citycode=tianjin, shortcode=TJTJNK]Area [id=QY044, province=天津市, city=天津市, district=河北区, postcode=120105, citycode=tianjin, shortcode=TJTJHB]Area [id=QY045, province=天津市, city=天津市, district=红桥区, postcode=120106, citycode=tianjin, shortcode=TJTJHQ]Area [id=QY046, province=天津市, city=天津市, district=滨海新区, postcode=120116, citycode=tianjin, shortcode=TJTJBHX]Area [id=QY047, province=天津市, city=天津市, district=东丽区, postcode=120110, citycode=tianjin, shortcode=TJTJDL]Area [id=QY048, province=天津市, city=天津市, district=西青区, postcode=120111, citycode=tianjin, shortcode=TJTJXQ]Area [id=QY001, province=北京市, city=北京市, district=东城区, postcode=110101, citycode=beijing, shortcode=BJBJDC]Area [id=QY002, province=北京市, city=北京市, district=西城区, postcode=110102, citycode=beijing, shortcode=BJBJXC]Area [id=QY003, province=北京市, city=北京市, district=朝阳区, postcode=110105, citycode=beijing, shortcode=BJBJCY]Area [id=QY004, province=北京市, city=北京市, district=丰台区, postcode=110106, citycode=beijing, shortcode=BJBJFT]Area [id=QY005, province=北京市, city=北京市, district=石景山区, postcode=110107, citycode=beijing, shortcode=BJBJSJS]Area [id=QY006, province=北京市, city=北京市, district=海淀区, postcode=110108, citycode=beijing, shortcode=BJBJHD]Area [id=QY007, province=北京市, city=北京市, district=门头沟区, postcode=110109, citycode=beijing, shortcode=BJBJMTG]Area [id=QY008, province=北京市, city=北京市, district=房山区, postcode=110111, citycode=beijing, shortcode=BJBJFS]Area [id=QY009, province=北京市, city=北京市, district=通州区, postcode=110112, citycode=beijing, shortcode=BJBJTZ]Area [id=QY010, province=北京市, city=北京市, district=顺义区, postcode=110113, citycode=beijing, shortcode=BJBJSY]Area [id=QY011, province=北京市, city=北京市, district=昌平区, postcode=110114, citycode=beijing, shortcode=BJBJCP]Area [id=QY012, province=北京市, city=北京市, district=大兴区, postcode=110115, citycode=beijing, shortcode=BJBJDX]Area [id=QY013, province=北京市, city=北京市, district=怀柔区, postcode=110116, citycode=beijing, shortcode=BJBJHR]Area [id=QY014, province=北京市, city=北京市, district=平谷区, postcode=110117, citycode=beijing, shortcode=BJBJPG]Area [id=QY015, province=北京市, city=北京市, district=密云县, postcode=110228, citycode=beijing, shortcode=BJBJMY]Area [id=QY016, province=北京市, city=北京市, district=延庆县, postcode=110229, citycode=beijing, shortcode=BJBJYQ]Area [id=QY017, province=河北省, city=石家庄市, district=长安区, postcode=130102, citycode=shijiazhuang, shortcode=HBSJZZA]Area [id=QY018, province=河北省, city=石家庄市, district=桥东区, postcode=130103, citycode=shijiazhuang, shortcode=HBSJZQD]Area [id=QY019, province=河北省, city=石家庄市, district=桥西区, postcode=130104, citycode=shijiazhuang, shortcode=HBSJZQX]Area [id=QY020, province=河北省, city=石家庄市, district=新华区, postcode=130105, citycode=shijiazhuang, shortcode=HBSJZXH]Area [id=QY021, province=河北省, city=石家庄市, district=井陉矿区, postcode=130107, citycode=shijiazhuang, shortcode=HBSJZJXK]Area [id=QY022, province=河北省, city=石家庄市, district=裕华区, postcode=130108, citycode=shijiazhuang, shortcode=HBSJZYH]Area [id=QY023, province=河北省, city=石家庄市, district=井陉县, postcode=130121, citycode=shijiazhuang, shortcode=HBSJZJX]Area [id=QY024, province=河北省, city=石家庄市, district=正定县, postcode=130123, citycode=shijiazhuang, shortcode=HBSJZZD]21:23:46,801 ERROR DefaultDispatcherErrorHandler:42 - Exception occurred during processing request: nulljava.lang.NullPointerException    at org.apache.struts2.dispatcher.ServletRedirectResult.isPathUrl(ServletRedirectResult.java:276)    at org.apache.struts2.dispatcher.ServletRedirectResult.doExecute(ServletRedirectResult.java:180)    at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:191)    at org.apache.struts2.dispatcher.ServletRedirectResult.execute(ServletRedirectResult.java:164)    at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273)    at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)    at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)    at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:564)    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:178)    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)    at java.lang.Thread.run(Thread.java:748)21:23:46,802  INFO StatisticalLoggingSessionEventListener:258 - Session Metrics {    58215 nanoseconds spent acquiring 1 JDBC connections;    0 nanoseconds spent releasing 0 JDBC connections;    281451 nanoseconds spent preparing 2 JDBC statements;    3069484 nanoseconds spent executing 2 JDBC statements;    0 nanoseconds spent executing 0 JDBC batches;    0 nanoseconds spent performing 0 L2C puts;    0 nanoseconds spent performing 0 L2C hits;    0 nanoseconds spent performing 0 L2C misses;    2555177 nanoseconds spent executing 1 flushes (flushing a total of 30 entities and 30 collections);    25499 nanoseconds spent executing 2 partial-flushes (flushing a total of 0 entities and 0 collections)}

代码如下:

//条件分页查询方法    @Action(value="area_pageQuery",results={@Result(name="success",type="redirect")})    public String pageQuery(){        //根据属性驱动创建pagable分页对象        Pageable pageable = new PageRequest(page-1, rows);        //创建specification条件对象        Specification specification = new Specification(){            //创建条件方法            @Override            public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) {                //简单查询:无关联对象,创建集合将各条件加入                List<Predicate> list = new ArrayList<Predicate>();                //创建条件1省:先判断是否为空                if(StringUtils.isNotBlank(area.getProvince())){                    //不为空,就去创建条件                    Predicate p1 = cb.like(root.get("province").as(String.class), "%"+area.getProvince()+"%");                    list.add(p1);                }                //创建条件2市                if(StringUtils.isNotBlank(area.getCity())){                    Predicate p2 = cb.like(root.get("city").as(String.class), "%"+area.getCity()+"%");                    list.add(p2);                }                //创建条件3区                if(StringUtils.isNotBlank(area.getDistrict())){                    Predicate p3 = cb.like(root.get("district").as(String.class), "%"+area.getDistrict()+"%");                    list.add(p3);                }                //将集合转成数组并通过条件关联对象的and方法去关联成一个Predicate对象                return cb.and(list.toArray(new Predicate[0]));                }            };        //将查询回来的对象压入栈顶        Page<Area> page = areaService.pageQuery(specification,pageable);        Map<String,Object> map = new HashMap<>();        //总记录数        map.put("total", page.getTotalElements());        //每页记录对象        map.put("rows", page.getContent());        for (Area area : page.getContent()) {            System.out.println(area);        }        ActionContext.getContext().getValueStack().push(map);        return SUCCESS;    }

1.按数据流向开始检索前端代码,
先从请求开始查,
这里写图片描述
304状态码_百度百科:
如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变
2.根据以上信息,得知是服务器代码问题,再去检查服务器代码,先是debug并打印出回写的rows集合对象,发现rows集合对象已经取到值了,
3.那么前后端代码都没有问题,就是在后台向前端发送数据的过程当中出了问题,依次查询会影响后台向前端传输数据的几个地方,最后发现是@Action注解中的type写成了redirect,这里因为是给json数据压入栈顶去实现自动回写,所以应该是json,修改后正常运行

阅读全文
0 0
原创粉丝点击