表现层框架SpringMVC
1.SpringMVC程序开发的基本步骤:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
221.准备好SpringMVC开发的jar包(8个)
spring-aop.jar spring-beans.jar spring-context.jar
spring-core.jar spring-expression.jar commons-logging.jar
spring-web.jar 在Web应用开发过程中,用到Spring框架时所需的核心类库
spring-webmvc.jar Spring MVC框架相关的所有类。如国际化、标签、Theme、FreeMarker等相关类
2.在web.xml中配置前置控制器DispatcherServlet,用于拦截与<url-pattern>相匹配的请求
3.开发前端请求页面(index.jsp)
4.开发请求处理类(controller):含注解@Controller、@RequestMapping()等
5.在src目录下创建SpringMVC的配置文件:springmvc.xml
<!-- 配置需要扫描的包 -->
<context:component-scan base-package="com.YYcoder.controller"> </context:component-scan>
<!-- 配置视图解析器:把请求处理类的返回值,加工成最终的视图路径-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/"></property><!--前缀-->
<property name="suffix" value=".jsp"></property><!--后缀-->
</bean>
6.开发前端结果显示页面:result.jsp
2.SpringMVC的学习内容(主要是学会如何使用注解来实现操作)
①常见注解的使用(可以参考springMVC的文档学习)
@RequestMapping 用来给方法绑定一个请求映射
@PathVariable 获取动态参数
@RequestParam 获取请求参数
@RequestHeader 获取请求中的“头信息”
@CookieValue 可以给处理方法入参绑定某个Cookie值
②处理模型数据:用户从视图页面(v)发起一个请求到控制器(c),控制器调用Service/Dao等处理数据,
并从数据库中返回数据(M)。之后控制器拿到数据后加以处理,并返回到视图页面。
实现方法:
(1)ModelAndView:含Model和View两部分,数据将被放入request作用域
(2)ModelMap、Map及Model:不含view部分,可以方法的参数操作数据放入request作用域。
(3)@SessionAttribute:把数据放到session作用域
(4)@ModelAttribute:会在请求处理类中的每一个方法执行前都执行一次(谨用)
③视图、视图解析器(ViewResolver),以及对静态资源的处理
④类型转换:将前端传来的数据类型转为请求处理方法参数中的所对应的类型
⑤数据格式化、数据校验:让前端传入的数据按照一定格式、要求,否则报错。
⑥文件上传、拦截器的使用。在springmvc.xml文件中配置:
<mvc:interceptors>
<!-- 配置自定义的拦截器 -->
<bean class="org.lanqiao.interceptor.FirstInterceptor"></bean>
</mvc:interceptors>
⑦异常处理:使用@ExceptionHandler注解用来捕获指定类型的异常。
⑧SSM整合:Spring + springmvc + Mybatis
Spring - Mybatis
SqlSessionFactory - > SqlSession -> StduentMapper ->CRUD
整合: 将SqlSessionFactory在spring中配置
Spring - SpringMvc:spring springmvc各自配置一遍
步骤:
1.jar包
2.Student 类 --Student表
3.(省略)--MyBatis配置SqlMapConfig.xml(数据源、 mapper.xml)
在spring配置文件中 applicationContext.xml
4.通过mapper.xml将 类、表建立映射关系
5.web配置spring springmvc
6.spring 整合mybatis 扫描器
7.spring整合springmvc(视图解析器 标准配置)
ui层:前端(jsp)--->通过注解调用 后端:SpringMvc(或Servlet)
(controller控制器依赖于Service,即给controller注入service)
Service层:StudentService.java StduentServiceImpl.java(依赖dao层,即给service注入mapper)
<!-- 配置DAO层:为StudentDaoImpl注入SqlSessionFactory对象 -->
<bean id="studentService" class="org.lanqiao.service.impl.StudentServiceImpl">
<property name="studentDao" ref="studentMapper"></property>
</bean>
<bean id="studentController" class="org.lanqiao.controller.stduentController">
<property name="studentService" ref="studentService"></property>
</bean>
dao层:studentMapper.java() StudentMapper.xml --->操作DB数据库
控制器 testController.java
业务逻辑层接口 testService.java
业务逻辑层实现类 testServiceImpl.java
Web.xml中配置使用Spring和SpringMVC
SpringMVC.xml配置扫描包、视图解析器和控制器Controller
applicationContext.xml:配置数据库连接池、sqlSessionFactory、dao、service
编写test测试:jsp页面测试