SpringMVC基础(新手向)
一、SpringMVC的工作流程
文字描述:
1.用户请求
2.前端控制器:DispatcherServlet捕获请求
3.DispatcherServlet将请求url传给映射处理器HandlerMapping。
4.HandlerMapping找到相应的处理器Handler并返回一个处理器对象
5.DispatcherServlet将这个处理器对象传递给处理器适配器来执行响应操作并返回一个ModelAndView对象
6.DispatcherServlet得到这个ModelAndView对象后传递给视图解析器ViewResolver解析
7.ViewResolver解析后返回View
8.DispatcherServle得到View后渲染并响应。
其中:
1.前端控制器:DispatcherServlet
相当于转发器,接受请求,响应结果,降低耦合。
2.处理器映射器:HandlerMapping
根据请求的url来找到相应的Handler
3.处理器适配器:HandlerAdpter
在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
4.处理器:Handler
程序员自己编写然后处理相应
5.视图解析器:ViewResolver
解析ModelAndView
图形描述
图片转载至:https://blog.csdn.net/a745233700/article/details/80963758
二、配置SpringMVC
1.启动TomCat服务器时会先解析web.xml文件
我们需要在web.xml文件里面配置–前端控制器–
<!-- 1、前端控制器 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 加载springMVC配置 --> <init-param> <!-- 配置文件地址配置 --> <!-- 如果不配置contextConfigLocation,默认查找的配置文件名称classpath下的: servlet名称+"-servlvet.xml",即springmvc-servlvet.xml --> <param-name>contextConfigLocation</param-name> <param-value>springMVC.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
2.然后我们在springMVC.xml里面配置
1.处理器映射器 <!-- 1.配置处理映射器 --> <!-- 配置处理器映射器 springmvc框架根据HandlerMapping接口判断是否是处理器映射器 --> <!-- 根据bean的name进行查找Handler 将action的url配置在bean的name中 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
2.处理器适配器 <!-- 3.处理器适配器 --> <!--简单url映射 集中配置bean的id对应 的url --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/userList.do">userController</prop> </props> </property> </bean>
3.视图解析器 <!-- 4.配置视图解析器 --> <!-- 配置视图解析器 要求将jstl的包加到classpath --> <!-- ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/" /> <property name="suffix" value=".jsp" /> </bean>
4.我们自己编写的Handle类 <!-- 2.配置Handler 由于使用了BeanNameUrlHandlerMapping处理映射器,name配置为url --> <bean id="userController" name="/userList.do" class="com.hqyj.taoTaoMall.system.controller.UserController" />
springMVC的头文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd "> </beans>
4.最后导入jar包即可使用。
三、利用注解来配置springMVC
和上面不同的是,我们需要重新配置
1.Handler类
2.映射器
3.适配器
//*代表通配,controller代表此包中的类都可以使用注解 <!-- 1.配置注解开发Handler --> <context:component-scan base-package="*.controller"></context:component-scan> <!-- 2.注解映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /> <!-- 3.注解适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
@controller
代表这个类是handler类
@RequestMapping
代表该handler类对应的url
- 集成springmvc和mybatis环境的Javaweb基础框架,省去新手搭建繁琐环境的苦恼
- 集成springmvc和mybatis环境的Javaweb基础框架,省去新手搭建繁琐环境的苦恼
- springmvc 基础
- SpringMVC基础-5-controller方法返回值
- SpringMvc基础入门使用
- 新手上路,matlab基础(2)-绘制平面图
- Python新手学习基础之数据类型——字符串的切片截取
- 新手软件测试基础知识汇总
- springmvc(基础二) Springmvc 配置过程及详解
- python·个人基础总结(适合新手)
- Axure教程 axure新手入门基础(2)
- springmvc(十二)springmvc基础知识总结
- 给Java新手的一些建议----Java知识点归纳(Java基础部分)
- 【转载】丁林松老师的QT视频及教程源码,讲解比较基础适合新手
- 测试基础知识--测试新手入门篇
- Python新手学习基础之函数-概念与定义
- C#多线程基础,适合新手了解
- Python新手学习基础之运算符——比较运算符
- (转)SpringMVC:提交数据遭遇基础类型和日期类型报400错误解决方法
- SpringMVC最基础配置