您的位置:首页 > 编程语言 > Java开发

SpringMVC基础(新手向)

2019-08-19 23:50 1331 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/MeatLoveJK/article/details/99768838

一、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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: