栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面试题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面试题

1、什么是MVC

MVC是一种分离业务逻辑、数据、视图的设计模式,分层设计,并发开发。Model模型:业务处理与数据存取;View视图:数据显示;Controller:处于模型与视图中间,处理用户交互; 2、什么是Spring MVC

Spring MVC基于Java,实现MVC设计模式的轻量级web框架;分离业务逻辑、数据、视图,简化开发; 3、Spring MVC的优点

可以支持各种视图技术,而不仅仅局限于JSP;与Spring框架集成(如IoC容器、AOP等);清晰的角色分配:前端控制器 , 处理器映射, 处理器适配器, 视图解析器;支持各种请求资源的映射策略; 4、SpringMVC流程

外部请求达到dispatcherServelt中心调度器;注册器将请求分发给Controller控制器;控制器将请求传递给Model进行业务处理和数据存储;Model将处理结果返回给控制器;控制器返回一个ModelAndView给中心控制器;中心控制将其给view视图解析器进一步处理;View将处解析后的视图返回到中心控制器;中心控制器进行渲染返回给前端用户; 5、SpringMVC主要组件

前端控制器DispatherServelt;处理器Handler;(需开发)处理器映射器:根据url查找处理器;处理器适配器:执行处理器;视图解析器:进行视图解析;视图View;(需开发) 6、什么是DispatcherServlet

中心控制器DispatcherServlet,用来处理所有的HTTP请求和响应; 7、什么是Spring MVC框架的控制器

控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现;控制器解析用户输入并将其转换为一个由视图呈现给用户的模型;Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。 8、SpringMVC常用注解

@Controller:标记控制器对象;@RequestMapping:映射请求路径到控制器;@PathVariable:处理url中参数;@RequestParam:处理body中参数;@ResponseBody:封装成一个返回对象;@Service:服务层;@ModelAttibute:该注解方法在Controller每个方法执行前执行;@RestController = @ResponseBody + @Controller 9、SpringMVC如何解决线程安全性问题

Controller默认是单列的;避免在Controller中使用实例变量;使用ThreadLocal变量; 10、Spring MVC的控制器是不是单例模式?有什么问题?怎么解决?

是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的; 11、Spring MVC怎么样设定重定向和转发的?

转发:在返回值前面加"forward:";

重定向:在返回值前面加"redirect:";

12、Spring MVC怎么和AJAX相互调用的

通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象。具体步骤如下 :

加入Jackson.jar;

在配置文件中配置json的映射;

在接受Ajax方法里面可以直接返回Object,List等,但方法前面要加上@ResponseBody注解;

13、如何解决POST请求中文乱码问题,GET的又如何处理呢

(1)解决post请求乱码问题:

在web.xml中配置一个CharacterEncodingFilter过滤器,设置成utf-8;

(2)get请求中文参数出现乱码解决方法有两个:

修改tomcat配置文件添加编码与工程编码一致,如下:


对参数进行重新编码:

String userName = new String(request.getParamter(“userName”).getBytes(“ISO8859-1”),“utf-8”)
14、如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象

直接在方法中声明这个对象,Spring MVC就自动会把属性赋值到这个对象里面; 15、Spring MVC里面拦截器是怎么写的(自定义拦截器)

实现HandlerInterceptor接口;继承适配器类,在接口方法当中实现处理逻辑;然后在Spring MVC的配置文件中配置拦截器即可;提供preHandle、postHandle、afterCompletion 三种方法; 16、拦截器Interceptor与过滤器Fileter区别

Fileter是Servelt的支持,任何java web工程都可以使用,只能存在于web程序中,基于函数回调,只在servelt前后起作用;Interceptor是Spring容器内的,只有使用了SpringMVC框架的工程才能使用,可以作用于web、application等程序中,基于java反射机制,能够在方法前、中、后执行; 17、SpringMVC异常处理

@Controller+@ExceptionHandler:处理当前controller异常;@ControllerAdvice+@ExceptionHandler:处理全局异常; 18、SpringMvc如何实现文件上传

客户端post提交input = file;服务端使用MultipartFile类型接收,transto(new file());

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781975.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号