1. SpringMVC不包含前端界面,是工作于表现层的服务器前端框架
2. SpringMVC包含三层:
表现层(用户交互层)、业务层(业务逻辑层)、持久化层(数据永久存储)
3. 目前流行的框架是MEAN/JS——基于js全栈开发,其如有分发控制操作很强大
MEAN
是一个Javascript平台的现代Web开发框架总称,它是MongoDB + Express +AngularJS + NodeJS 四个框架的第一个字母组合。它与传统LAMP一样是一种全套开发工具的简称。
- MongoDB是一个使用JSON风格存储的数据库,非常适合javascript。(JSON是JS数据格式)
- ExpressJS是一个Web应用框架,提供有帮助的组件和模块帮助建立一个网站应用。
- AngularJS是一个前端MVC框架。
- Node.js是一个并发 异步 事件驱动的Javascript服务器后端开发平台。
SpringMVC支持RESTFUL(一种软件架构风格)
4. Web MVC:
(1)是基于MVC模式的表现层框架
(2)基于XML配置和注解的轻型解决方案
(3)便捷的Restful方案和强大的路由功能
(4)与Spring的无缝结合
5. 工作流程:
(Tomcat:是轻型应用服务器,封装了http底层服务)——Servlet engine(容器)
页面请求——>Front controller(前端控制器)——>Controller(后端控制器)
Controller(后端控制器)—(处理后形成model)—>Front controller(前端控制器)—— >View template(视图渲染到html)——>Front controller(前端控制器)——>响应结果
6. 添加springframework的jar包:
(配置之前,先新建一个Dynamic Web Project,选择project,右键菜单选择Configure—>Convert to Maven Project,弹窗点Finish,选择pom.xml,访问地址
http://projects.spring.io/spring-framework/ ,复制如图1的内容到pom.xml ,放到如下图2位置)
(即:添加springframework的jar包)
图1
图2
7. 前端控制器配置:
在web.xml文件中添加如下配置:
<servlet>
<servlet-name>spring-Mvc</servlet-name>
<!--所有的请求均进入此前端控制器-->
<servlet-class>
org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<!--程序自启动配置-->
</servlet>
<servlet-mapping>
<servlet-name>spring-Mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
8. 基于配置的后端控制器:
配置文件 mvc-servlet.xml:访问以下地址:
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-metadata
复制出如下内容即可:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns
=
"http://www.springframework.org/schema/beans"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
>
</beans>
并添加下面内容到配置文件中(工作部件配置):
<bean
class="
org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<!--前缀-->
<property name="suffix" value=".jsp"></property>
<!--后缀-->
</bean>
9. 后端控制器:
实现Controller接口
10. 后端控制的配置:
<bean name="/login" class="controller.UserController"></bean>
<!--定义url要访问的controller——映射控制器-->
11. ModelAndView:(既有Model又有View)
Model 可用key-value,value可以是object(默认model在request范围)
View可以用字符串形式,表示逻辑视图,物理视图可以使用jsp文件
ViewReslover:用来解析“逻辑视图”,将委托给“物理视图”的解析器,以下是它们的实现类:
InternalResourceViewResolver.class
ResourceBundleViewResolver.class
XmlViewResolver.class
BeanNameViewResolver.class
12. 创建.jsp文件做为视图:
.jsp文件中的参数可使用EL表达式,目的是
为了使JSP写起来更加简单
语法结构:
${expression}