java Spring MVC 为什么我这个方法查询不到结果,数据库可以查询到,求解决






【相关推荐】
- 这个问题的回答你可以参考下: https://ask.csdn.net/questions/189641
- 您还可以看一下 杨春娟老师的基础篇:Spring MVC快速开发课程中的 Spring MVC主题更改网站皮肤或样式_04小节, 巩固相关知识点
- 除此之外, 这篇博客: java2中的 3. Spring MVC框架章节 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
3.1 选择题
- 下列关于Spring MVC的执行流程,说法错误的是()。
D
A、用户通过浏览器向服务器发送请求,该请求会被DispatcherServlet前端控制器拦截
B、处理器映射器会生成处理器对象以及处理器拦截器返回给DispatcherServlet前端控制器
C、处理器适配器会调用并执行Controller类中的代码
D、Controller类中的代码执行完成后,会返回ModelAndView对象,该对象中只包含视图名 - 下列元素中,可以在Spring MVC的配置文件中配置要扫描的包的是()。
C
A、<load-on-startup>
元素
B、<url-pattern>
元素
C、<context:component-scan>
元素
D、<servlet-mapping>
元素 - 关于Spring MVC支持的RESTful风格描述错误的是()。
C
A、RESTful不是架构,只是另一种风格请求的URL
B、RESTful风格在HTTP请求中,通过GET 、POST 、PUT和DELETE 4个动词对应四种基本请求操作
C、RESTful风格也是一种规范,不可以打破
D、使用RESTful风格书写的路径,可以隐藏资源的访问行为。 - 下列选项中,对于RequestMapping注解的作用说法正确的是()。
A
A、用于映射一个请求或一个方法
B、用于映射一个控制器类
C、用于映射请求参数
D、用于映射请求类型 - 下列选项中对Ant风格的通配符的说法错误的是()。
C
A、?可以匹配任何单字符。
B、*可以匹配0或者任意数量的字符。
C、/*/
ant3可以匹配到路径/findAll/a/ant3
D、**:匹配0或者多级目录。 - 下列选项中,对DispatcherServlet说法错误的是()。
B
A、DispatcherServlet是Spring MVC的流程控制中心,也称为Spring MVC的前端控制器
B、DispatcherServlet的本质是一个过滤器
C、DispatcherServlet拦截客户端的请求后会将请求转发到Spring MVC的其他组件
D、DispatcherServlet降低了Spring MVC组件之间的耦合性 - 下列选项中对Sping MVC的组合注解说法错误的是( )。
D
A、组合注解简化了常用的HTTP请求方式的映射,并且更好的表达了被注解方法的语义
B、@GetMapping用于匹配GET方式的请求
C、@PostMapping用于匹配POST方式的请求
D、使用@GetMapping和使用@RequestMapping(method = RequestMethod.GET)限定请求方式的效果不一样 - 当Spring MVC方法的返回值为void类型,方法执行后会跳转到默认的页面。默认页面的路径拼接格式是( )。
C
A、前缀+方法映射路径
B、方法映射路径+后缀
C、前缀+方法映射路径+后缀
D、方法映射路径 - 下列关于Spring MVC数据绑定流程说法错误的是()。
C
A、Spring MVC将ServletRequest对象传递给DataBinder
B、Spring会将处理方法的入参对象传递给DataBinder
C、DataBinder调用BindingResult组件进行数据类型转换、数据格式化等工作
D、调用Validator组件对已经绑定了请求消息数据的参数对象进行数据合法性校验 - 下列注解中,可以与JSON格式转换器结合将JSON格式数据绑定到方法形参中的是( )。
A
A、 @RequestBody B、 @RequestMapping C、 @RequestParam D、 @Controller - 下列关于Spring MVC常用的默认参数类型及说法错误的是( )。
D
A、HttpServletRequest通过request对象获取请求信息
B、HttpServletResponse通过response处理响应信息
C、HttpSession通过session对象得到session中存放的对象
D、Model或ModelMap是一个接口,作用是将model数据填充到request域。 - 下列选项,不是HandlerInterceptor接口中的方法的是( )。
D
A、preHandler()
B、postHandle()
C、afterCompletion()
D、handler() - 下列选项,对注解@ControllerAdvice的描述错误的是( )。
D
A、注解作用在类上时可以增强Controller
B、该注解是Spring3.2中新增加的
C、该注解需要结合注解@ExceptionHandler才可以捕获Controller中抛出的指定类型的异常,从而实现不同类型的异常统一处理
D、该注解不需要结合注解@ExceptionHandler,同样可以捕获Controller中抛出的指定类型的异常,从而实现异常处理
3.2 判断题
- web.xml文件中,
<load-on-startup>
元素中的1表示在项目启动时会立即加载DispatcherServlet前端控制器。T
- 在IDEA中使用插件运行Maven项目时,除了需要在pom.xml文件中配置对应的插件外,还需要在IDEA中进行项目运行的相关配置。
T
- Spring MVC提供了对MVC模式的全面支持,它可以将表现层进行解耦,同时,Spring MVC是基于请求-响应处理模型的请求驱动框架,简化了表现层的实现。
T
<servlet-mapping>
元素的子元素<url-pattern>
内容为“/”,表示项目在运行时,Spring MVC的前端控制器会拦截所有的请求URL,并交由DispatcherServlet处理。T
- 使用Maven的Tomcat插件运行Maven Web项目时,仍然需要将项目部署到本地Tomcat中。
F
- 只需要将@Controller注解标注在普通Java类上,然后通过Spring的扫描机制找到标注了该注解的Java类,该Java类就成为了Spring MVC的处理器类。
T
- @RequestMapping注解只能标注在方法上。
F
- @RequestMapping的value属性中,可以指定映射单个的请求URL,也可以将多个请求映射到一个方法上。
T
- 在复杂POJO数据绑定时,如果数据需要绑定到POJO属性对象的属性中,客户端请求的参数名格式必须为“属性对象名称.属性”。T
- @RequestParam注解的required属性用于指定参数是否必须,它的默认值为false。
F
- 当程序中配置了多个拦截器时,拦截器中的postHandle()方法和afterCompletion()方法按照拦截器的配置顺序执行。
F
3.3 填空题
- Spring MVC的三大组件分别是处理器映射器、_____和视图解析器。
处理器适配器
- Spring MVC作用于三层架构中的_____,用于接收客户端的请求并进行响应。
表现层
- 在Spring MVC的执行过程中,Controller类的代码执行后,会返回一个_____对象。
ModelAndView
- 组合注解_____用于匹配GET方式的请求。
@GetMapping
- 当请求的映射方式是REST风格时,Spring MVC提供了_____注解进行简单类型数据绑定。
@PathVariable
- 当发生客户端请求需要传递多个同名参数到服务器端的情况,可以使用_____的方式来接收客户端的请求参数。
数组绑定
- Spring MVC的响应方式可以分为页面跳转和_____两种。
数据回写
- 根据请求参数类型和参数个数等数据信息的复杂程度,可以将Spring MVC中的数据绑定分为简单数据绑定和_____两类。
复杂数据绑定
- 使用_____注解相当于@Controller和@ResponseBody这两个注解的结合。
@RestController
3.4 简答题
- 请简述RequestMapping注解类型的作用及用法。
@RequestMapping 注解可以为 Handler 提供必要的映射信息,将请求的URL映射到具体的处理方法。该注解可以标注在方法和类上。 标注在方法上:该方法就成了一个可以处理客户端请求的Handler(处理器),它会在Spring MVC接收到对应的URL请求时被执行。 标注在类上:@RequestMapping的value属性值相当于本处理器类的命名空间,即访问该处理器类下的任意处理器都需要带上这个命名空间。 - 简述Spring MVC数据绑定的过程。
Spring MVC 数据绑定的过程:
① Spring MVC 将 ServletRequest 对象传递给 DataBinder(数据绑定组件)。
② 将处理方法的入参对象传递给 DataBinder。
③ DataBinder 调用 ConversionService 组件进行数据类型转换、数据格式化等工作,并将 ServletRequest 对象中的消息填充到参数对象中。
④ 调用 Validator 组件对已经绑定了请求消息数据的参数对象进行数据合法性校验。
⑤ 校验完成后会生成数据绑定结果 BindingResult 对象,Spring MVC 会将 BindingResult 对象中的内容赋 给处理方法的相应参数。 - 简述拦截器HandlerInterceptor接口中的方法并做说明。
HandlerInterceptor接口中有3个方法:
1、preHandler()方法:该方法会在控制器方法前执行,其返回值表示是否中断后续操作。当其返回值为true时,表示继续向下执行;当其返回值为false时,会中断后续的所有操作。
2、postHandle()方法:该方法会在控制器方法调用之后,且解析视图之前执行。可以通过此方法对请求域中的模型和视图做出进一步的修改。
3、afterCompletion()方法:该方法会在整个请求完成,即视图渲染结束之后执行。可以通过此方法实现一些资源清理、记录日志信息等工作。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
一种方式:你可以将你的查询条件删除,查询所有数据,确定表中是否有这条数据。

另一种将配置文件中的配置信息填写具体的url和数据库试试
