1.SpringMVC介绍:

SpringMVC是一个前端控制框架,主要用来负责与页面的交互.SpringMVC是Spring家族的一大组件.Spring整合SpringMVC可以做到无缝集成.

 

2.Servlet

缺点:

1.一个servlet需要编写8行配置问题

2.一个servlet只能处理一个业务逻辑 addUserServlet,updatUserServlet

3.对于一张表而言操作方法至少4个----4个servlet----32行配置文件

4.获取属性的值的,必须request.getParameter("name");

5.servlet获取的参数只能是String类型,需要经过手动的类型转化.

 

3.SpringMVC四大组件

Url:localhost:80/项目名称/addUserServlet

 

1.前端控制器(DispatcherServlet)  

作用:主要负责request对象和response对象的转发和响应.

 

2.处理器映射器

匹配能够处理请求的类.交给前端控制器

 

3.处理器适配器

调用适当的处理器 去执行请求

 

4.视图解析器

将用户返回的页面名称为其拼接真实的路径    

User------/WEB-INF/user.jsp

SpringMVC入门案例01

 

 4.SpringMVC的内部调用过程

Url:localhost:8090/项目名称/findUser.action       /.do

 

步骤:

1.客户端发送请求到前端控制器

Url:localhost:8090/项目名称/findUser.action

2.根据用户的url找到匹配的Controller

3.将Controller的具体路径返回给前端控制器

4.请求处理器适配器 执行Controller

5.内部工具规则匹配到对应的处理器执行请求

6.处理器执行请求后将结果封装为ModelAndView对象返回给处理器适配器

ModelAndView 分别为Model和View

Model:处理后的数据

View: 给用户展现的视图的名称(hello)

 

7.ModelAndView对象返回给前端控制器

8.请求视图解析器 解析View对象

视图解析器,根据返回的页面名称,拼接前缀和后缀,形成一个页面的完整路径  /WEB-INF/hello.jsp

9.将Veiw对象形成真实的页面路径返回给前端控制器

10.Model的数据填充到页面中(将数据填充到request域中)

 

5.SpringMVC的入门案例

分析:自己编的内容

1.配置前端控制器  指定拦截范围

2.处理器映射器中 指定映射关系    findUser----->Controller

3.真正的业务逻辑 在Controller中指定业务逻辑

4.配置视图解析器   指定页面路径

 

1.导入jar

jar包导入到lib

 

2.配置前端控制器

SpringMVC入门案例01

 

3.编写SpringMVC的核心配置文件

配置文件的名称:

默认的:springmvc-servlet.xml

源码:

public String getNamespace() {

return (this.namespace != null ? this.namespace : getServletName() + DEFAULT_NAMESPACE_SUFFIX);

}

4.编辑映射关系

Url---Controller

/hello.action-------->HelloController

 

SpringMVC入门案例01

 

5.编辑Controller

SpringMVC入门案例01

6.配置视图解析器

SpringMVC入门案例01

7.测试:

SpringMVC入门案例01

 

SpringMVC入门案例01

 

需要编辑正确的action.才能让程序正常调用

 

 

6.springmvc-servlet.xml 存入src文件下

1.方便jar代码的调用

2.如果名称修改则不能加载配置文件

 

将配置文件放置到src下是通用的做法.但是web.xml中如果不做任何的配置,根据默认的名称扫描的是WEB-INF目录.这样做肯定有问题.

 

解决方法:

SpringMVC入门案例01

 

7.SpringMVC的注解形式

需求:按照传统的方式,一个action对应一个Controller这样的写法太繁琐.

改进:使用SpringMVC的注解形式

 

配置文件:

SpringMVC入门案例01

使用注解

SpringMVC入门案例01

 

SpringMVC的注解的使用原理:

当服务器启动时,先会加载web.xml,之后通过引入核心配置文件加载springmvc.xml.就会解析该xml配置文件.

1.当解析到包扫描时,根据指定的包将含有@Controller注解的类,为其创建对象.

2.当解析到 <mvc:annotation-driven/> 开始匹配MVC注解

3.之后解析@RequestMapping(value="/hello.action")..之后会将value值进行保存.将方法进行绑定.

4.当用户发出请求时,处理器映射器就是匹配用户的url和保存好的value值.如果匹配成功则会执行方法.如果匹配不成功 则报404

 

8.获取request对象和response对象

SpringMVC入门案例01

 

9.快速获取页面参数

SpringMVC入门案例01SpringMVC入门案例01

要求:页面提交的参数,必须与接收参数一致.否则不能获取正确的参数值.

 

 

10.SpringMVC为对象赋值

SpringMVC入门案例01

要求:User中必须添加setXX(),否则不能实现注入.

 

 

11.SpringMVC为对象的引用赋值

1.页面中的参数命名:

SpringMVC入门案例01

如果是为对象的引用赋值,必须有层次结构 中间用"."隔开

 

2.User对象

SpringMVC入门案例01

必须添加Set方法

 

3.对象的引用

SpringMVC入门案例01

 

 

总结:

SpringMVC进行参数赋值时,会根据页面中的参数的name属性进行赋值.如果为对象赋值.则必须要有set方法.

在SpirngMVC中记住一句话:"需要什么写什么"  都会为我们自动注入

相关文章: