mybatis---sql语句和java代码之间的耦合--dao层
spring----业务层和其他各层直接的耦合---优化了service层
springmvc---解决java代码和servlet之间的耦合---controller层
现在遇到的问题
A、我们发现,每当用户发送一个请求,就对应后台一个servlet,如果用户有100个请求,这个时候就需要用户书写100个servlet。
B、使用现在servlet进行页面数据接受的时候,我们发现相当的麻烦。
C、我们书写的java代码和servlet 之间的耦合太高
解决方案
Springmvc
通过图形可以发现,springmvc就是对servlet进行的封装,实现了java代码和servlet 直接的解耦
Spring mvc 的概念
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面
框架的搭建:
配置web.xml:
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<!--除了jsp之外的所有请求资源-->
<url-pattern>/</url-pattern>
</servlet-mapping>
配置WEB-INF/ mvc-servlet.xml:
<!--扫描注解@Controller-->
<context:component-scan base-package="com.bjsxt.controller"></context:component-scan>
<!--@RequestMapping-->
<mvc:annotation-driven></mvc:annotation-driven>
书写自己的控制单元方法(servlet)
@Controller
public class MyContro {
@RequestMapping("abc")
public String demo1(){
//[1]接受页面数据
//[2]数据处理
System.out.println("进入了demo1控制单元");
//[3]做出响应
return "index.jsp";
}
}