JAVAEE的体系结构包括四层,分别是应用层,Web层,业务层,持久层。
SpringMvc是Web层的框架,mybatis是持久层框架,spring是业务层的框架
使用Springmvc的好处
很多应用程序的问题在于处理业务数据的对象和显示业务数据的视图之间存在紧密耦合,通常,更新业务对象的命令都是从视图本身发起的,使视图对任何业务对象的更改都有高度敏感性,而且,当多个视图依赖于同一个业务对象时是没有灵活性的。
Spring mvc是一种基于JAVA,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC设计架构模式的思想,将Web层进行职责解耦。基于请求驱动指的是使用请求 - 响应的模型,框架的目的就是帮助我们简化开发,Springmvc也是要简化web开发。
MVC设计模式(封装servlet)
传统的模型层被拆分为了业务层(Service)和数据访问层(DAO,Data Access Object)。 在 Service 下可以通过 Spring 的声明式事务操作数据访问层,大大提高互联网系统的性能。
特点
结构松散,几乎可以在 Spring MVC 中使用各类视图
松耦合,各个模块分离
与 Spring 无缝集成
ok,让我们来写第一个mvc程序
取名为springmvc001,并点击finish
IDEA 会自动帮我们下载好必要的 jar 包,并且为我们创建好一些默认的目录和文件,我们打开 web.xml ,按照下图完成修改
把元素的值改为 / ,表示要拦截所有的请求,并交由Spring MVC的后台控制器来处理
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
编辑 springmvc-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 扫描包 -->
<context:component-scan base-package="com.itheima.controller"/>
<!-- 注解驱动 -->
<mvc:annotation-driven/>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置逻辑视图的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置逻辑视图的后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
</beans>
编写 HelloController:
<!-- 注解 -->
@Controller
public class HelloController{
<!-- 配置路径-->
@RequestMapping(value = "/helloController" , method = RequestMethod.GET )
public String hello(Model model,String userID)
{
model.addAttribute("msg","hello");
return "index";
}
}
准备 index.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>HELLO MVC</title>
</head>
<body>
${ msg }
</body>
</html>
配置服务器并启动
成功~~撒花