SpringMVC、Struts2原理

1、客户端请求提交到DispatcherServlet(前端过滤器)

2、由DispatcherServlet控制器查询一个或多个HandlerMapping(映射处理器),通过xml文件找到处理请求的Controller

3、DispatcherServlet将请求提交到Controller

4、Controller调用业务逻辑处理后,返回ModelAndView

5、DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图

6、视图负责将结果显示到客户端

 

另一种:

1、用户向服务器发送请求,请求被前端控制器DispatcherServet截获

2、DispatcherServlet没有业务处理的能力,调用HandlerMapping处理器映射器

3、HandlerMapping根据xml配置和注解找到具体的Handler,并将处理器执行链(包括Handler和拦截器数组)返回给DispatcherServlet

4、DispatcherServlet调用HandlerAdapter处理器适配器

5、HandlerAdapter经过适配器调用具体的处理器(Controller,也称后端控制器)

6、Controller调用业务逻辑执行完返回ModleAndView

7、HandlerAdapter将ModleAndView返回给DispatcherServlet

8、DispatcherServlet将ModleAndView传给ViewReslover视图解析器

9、ViewReslover解析后返回具体的View

10、Dispatcher根据View进行视图渲染(将Modle填充至View)

11、DispatcherServlet响应用户

 

2、Struts2 原理

 

3、SpringMVC、Struts2区别

                                    Struts2                                       SpringMVC
基于一个filter,StrutsPrepareAndExecuterFilter基于一个servlet,DispatcherServlet
基于类的开发,成员变量收参,多例基于类中方法的开发,形参收参,可单例(默认),可多例
值栈存取请求及相应数据,通过OGNL存取数据request来解析请求内容,并给方法形参赋值,后台处理的数据通过ModelAndView对象存储

4、SpringMVC常用注解

@RequestMapping  用于请求URL映射

@RequestBody  接受http请求的json数据,将json数据转换为Java对象

@ResponseBody   将controller方法返回对象转化成json响应给客户

5、如何解决get和post乱码问题

       解决post 请求乱码:我们可以在 web.xml 里边配置一个 CharacterEncodingFilter 过滤器。 设置为 utf-8.

       解决get 请求的乱码:有两种方法。对于 get 请求中文参数出现乱码解决方法有两个:

        1. 修改tomcat 配置文件添加编码与工程编码一致。

        2.另外一种方法对参数进行重新编码 

String userName = New String(Request.getParameter(“userName”).getBytes(“ISO8859-1”), “utf-8”);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值