只注重实操而忽略口头表达的我终于吃到了苦头,那些知识就在脑子里,却无法用准确语言表达出来,来做个总结,之后进行记忆加口语练习,为第二天面试做准备:
1.是否知道double?
属于基本类型之一,双精确浮点型,占8个字节(刚听到这一问时蒙了,还以为是那个设计模式Dubbo,没想到会问这么简单问题,我回答不知道,对方很惊讶)
2.拦截器与过滤器?
拦截器:
依赖于web框架,如果是在SSM框架中则依赖Spring MVC框架,实现是基于Java的反射机制,是AOP(面向切面编程)的一种运用,所以可以利用Spring的依赖注入进行一些业务操作,一个拦截器实例在Controller生命周期内可以多次被调用,缺点是只能对Controller请求进行拦截,如果是直接访问的静态资源请求则无法拦截
过滤器:
依赖于Servlet容器,实现是基于函数回调,几乎对所有请求都可以进行过滤,缺点是一个过滤器实例只能在容器初始化时调用一次,主要用来过滤敏感词语等
3.简单介绍一下SSM框架?
SSM框架是Spring+Spring MVC+MyBatis的缩写,是目前比较主流的Java EE企业级框架
Spring:
是一个轻量级的开源框架,具有简单性、可测试性、松耦合性,核心思想是IOC(控制反转)与AOP,其中IOC也叫依赖注入,是利用工厂模式将对象交给Spring容器管理,只需要在Spring配置文件配置相应的bean以及设置相关属性即可,让Spring容器来生成类的实例对象并管理对象。而AOP则是一种编程思想,完善了Spring的依赖注入,可以将程序中的交叉业务逻辑封装成一个切面,然后注入到目标对象中,实现AOP技术主要有两大类:一是采用动态代理技术,利用截取消息的方法,对该消息进行装饰,以取代原有对象行为的执行,二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。
Spring MVC:
分离了控制器、模型对象、分派器以及处理程序对象的角色,目的是为了解耦
MyBatis:
MyBatis是一个基于Java持久层的框架,几乎消除了所有JDBC代码和参数的手工设置以及结果集的检索,使用简单的XML或注解用于配置和原始映射
4.简单说说如何在SSM框架中完成登录注册功能?
登录权限的实现主要是从网页获取登录信息与数据库中进行对比,确认正确后存储入session中,拦截器取消拦截,否则拦截器会一直拦截。注册逻辑较为简单,从注册页中获取新用户填写的信息,用户名与数据库中用户作对比,防止重名注册
具体实现借鉴:https://www.cnblogs.com/alivn/p/4795995.html
5.如何获取浏览器表单提交的信息?(SSM)
①利用HttpServletRequest对象的getParament方法
②利用表单参数自动注入@RequestParam(name),参数与输入框name属性一致
6.向浏览器发送数据?(SSM)
①利用值对象打包表单中的数据
②利用ModelMap的addAttribute方法发送数据
③利用ModelAndView发送数据
7.如何获取session?
使用HttpServletRequest的getSession方法