1.SpringMvc 的控制器是不是单例模式
是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。
2.SpringMVC 常用的注解有
@RequestMapping:用于处理请求url映射的注解。
@RequestBody:注解实现接收 http 请求的json数据,将jso 转换为 java对转化为json对象响应给客户。
@RequestParam,将请求的参数绑定到方法中的参数上。
@PathVariable,用于对应restful风格url中的参数 。
3.如果在拦截请求中
可以在@RequestMapping 注解里面加上method=RequestMethod.GET。
4.怎样在方法里面得到 Request,或者Session
直接在方法的形参中声明 request,SpringMvc就自动把request对象传入。
5.如果想在拦截的方法里面得到从前台传入的参数怎么得到
直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样。
6.如果前台有很多个参数传入,并且这些参数都是一个对象的那么怎么样快速得到这个对象
直接在方法中声明这个对象,SpringMvc 就自动会把属性赋值到这个对象里面。
7.SpringMvc 用什么对象从后台向前台传递数据的
通过 ModelMap 对象,可以在这个对象里面调用 put 方法,把对象加到里面,前台就可以通过 el 表达式拿到。
8.怎么样把ModelMap里面的数据放入Session里面
可以在类上面加上@SessionAttributes 注解,里面包含的字符串就是要放入session里面的 key。
9.如何解决 get 和 post乱码问题
post:解决post请求乱码 ,我们可以在web.xml里边配置一个CharacterEncodingFilter 过滤器.设置为 utf-8. get get:解决 get 请求的乱码,有两种方法。对于 get 请求中文参数出现乱码解决方法有两个
- 修改 tomcat 配置文件添加编码与工程编码一致。
- 另外一种方法对参数进行重新编码。
10.什么是Mybatis
(1)Mybatis是一个半ORM框架,它内部封装了JDBC开发 时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。
(2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
(3)通过 xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。