Java面试常考题目
来源:互联网 发布:深圳软件行业协会 编辑:程序博客网 时间:2024/05/11 03:52
SpringMVC与Struts2的主要区别?
①springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
②springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
③Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl。
SpringMVC的工作流程?
流程
1、用户发送请求至前端控制器DispatcherServlet
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、DispatcherServlet调用HandlerAdapter处理器适配器
5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6、Controller执行完成返回ModelAndView
7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9、ViewReslover解析后返回具体View
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户
如何解决POST请求中文乱码问题,GET的又如何处理呢?
在web.xml中加入:
<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param></filter><filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
get请求中文参数出现乱码解决方法有两个:
对参数进行重新编码:ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码
String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")
修改tomcat配置文件添加编码与工程编码一致
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- Java面试常考题目
- Java面试常考题目之数据库
- 操作系统常考面试题目
- 阿里巴巴常考面试题目
- 黑马程序员 java 基础面试常考题目总结
- Java面试2018常考题目汇总(一)
- Java面试常考知识点
- 程序员面试常考题目汇总【一】
- linux-c面试常考题目一
- 计算机网络面试常考题目汇总
- TCP/IP面试常考题目
- 【Java】几种面试常考排序
- Java实现面试常考的算法
- Java面试常考知识点总结
- 面试常考的数据结构Java实现
- 面试常考题目之atoi的实现
- sql面试常考题目_系列1
- 面试常考题目:逆转一个链表
- sqlite中的命令
- 苏嵌126班的初次相逢
- 晶体三极管工作原理讲解方法探讨
- Redis的事务
- 数据库中聚簇索引与非聚簇索引的区别[图文]
- Java面试常考题目
- JavaScript 基本概念之操作符、语句、函数
- Unique Paths
- ubuntu14.04下快速安装搜狗输入法
- Oracle数据库面试练习题
- 微服务理论与实践(三)-微服务架构的基本能力和优缺点
- C++中vptr指针的存在
- 二叉树的各种遍历方法
- JavaWeb初级学习 之 JQuery-简介、选择器