每日总结[2]20191002 MVC/SpringMVC XML配置
发布日期:2021-05-07 05:54:40 浏览次数:20 分类:精选文章

本文共 2272 字,大约阅读时间需要 7 分钟。

一、把我能想到的写下来:

    MVC是一种设计模式。

    在web开发中,为了解耦,实现轻量级开发,有经典三层构造:

[改:Web经典三层构造:

1.表现层 User Interface 主要接受用户的请求和把对应的页面响应给用户浏览器。
对应MVC中的View。
2.业务逻辑层 Business Logic Layer
对应MVC中Model的Service层,与数据库联动,增删改查。
3.数据访问层/持久层 Data Access Layer
对应MVC中Model的Dao层,提供接口支持]

[改:传统MVC]

    V(View视图层),如浏览器端显示的HTTP响应与请求;

    M(model)模型层,用来管理类与类之间的关系。
[处理数据逻辑,Model层分为Service层和Dao层,
    Service层用来和数据库联动,放置业务逻辑代码,处置数据库的增删改查。
    Dao层用来放各种接口以供调用。

C(Control)控制层,用来调用相应的构造。

这样不同功能的模块不会相互耦合。

    Spring用于M层,管理类与类之间的关系,而SpringMVC则是用于C层。

    SpringMVC包括以下部分:

(首先需要在pom.xml中导入各种SpringMVC有关的)

方法一:通过XML配置:

前端控制器(Front Controler), 实现Disapeter接口。

[改:继承DispatcherServlet类]

[前端控制器的作用:1.接受Web请求

2.转发到其他Web组件]

     是个servlet,当用户在浏览器输入 url ,可以通过servlet mapping中的映射,编译该 ur l对应的 servlet ,进而接受HttpRequedt,响应HttpResponse。这个前端控制器可以通过 web.xml 中

...

[这里还需要设置初始化参数:]

contextConfigLocation
classpath:applicationContext.xml

    接下来,需要交给处理器(handler),由处理器决定将请求交由哪个具体处理类进行处理,处理器是我们写的一个普通的类。在处理器之前,需要处理器映射器和处理器适配器。是在applicationContext.xml中通过声明Bean。

    处理器的适配器的作用就是将需要实现的功能提取出来。

    接下来还需要视图解析器,将逻辑视图(是一个字符串)转换为物理视图,(通常是JSP)进而返还给 HttpResponse 响应。

    JSP:Java Server Page,运行在服务器端的 Java 代码,用 JTEL 和 el 表达式代替了 Java 部分。

    需要Dao层、service层、Po层(持久层)。

方法二:通过注解配置

    需要在 applicationContext,xml 中

scan.package(xxx.xxx)
扫描…

@Servlet ("/......")

在类上使用注解 @Controler,它将会被Spring容器识别为控制器。

@Autowired 自动装配。

@Conpent???

二、复习后的补充:

    在 web.xml 中用<servlet >和<servlet-mapping>来声明前端控制器,它继承了DispatcherServlet类,可以通过url地址映射到该类。

    接下来需要 处理器 ,需要写一个普通的类showItemsController,并且它需要实现Controller接口,覆写其**HandleRequest方法,返回ModelAndView,**可以通过在applicationContext.xml中声明Bean的方法装配它:

public ModelAndView HandleRequest(HttpRequest req,HttpResponse res){   ModelAndView moandv=new ModelAndView();moandv.addObject(key,value);moandv.setModelAndView("xxxx.jsp");}

[改:第二个方法是setViewName(“xxx.jsp”);

第一个方法相当于
request.setAttribute(key,value);
第二个方法相当于
request.getRequestDispatcher(“xxxx.jsp”).forward(request,response);
会跳转到该JSP页面,并做key,value的存储。
]

     其中key,value在JSP中有用到。

    这里返回的视图ModelAndView是逻辑视图,只是字符串,需要解析为物理视图,需要在applicationContext.xml中配置视图解析器。
[

(     InternalResourceViewResolver类中有getViewClass方法。因此可以通过<property>赋值。

    还可通过前缀、后缀属性赋值,这样在处理器类中的setViewName(“xxxx”)传入的参数不需要前后缀了。)
]

需要处理器适配器和映射器,使之可以处理HttpRequest和HttpResponse。

上一篇:SpringMVC+Mybatis (动态代理)学习笔记
下一篇:Spring MVC+JDBC 学习笔记

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月15日 00时54分16秒