springMVC学习(一)简介
SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在
springmvc+spring整合的时候,会有父子容器的概念!父容器就是ioc容器,启动tomcat就会被web.xml中的那个监听器监听到,立马就会创建ioc容器,里面放的是service,dao,以及其他的各种bean;这里的子容器是springmvc的容器,里里面放着web层的所有组件,处理器映射器,处理器适配器,视图解析器,controller等;由于父容器先创建,子容器后创建。所以父容器的引用会保存在子容器一份,所以可以通过子容器获取父容器的实例,然后再获取其中的bean
首先导入开发包
前5个是Spring的核心功能包【IOC】,第6个是关于web的包,第7个是SpringMVC包
-
org.springframework.spring-context-5.2.5.RELEASE.jar
-
org.springframework.spring-expression-5.2.5.RELEASE.jar
-
org.springframework.spring-core-5.2.5.RELEASE.jar
-
org.springframework.spring-beans-5.2.5.RELEASE.jar
-
commons-logging.jar
-
org.springframework.spring-web-5.2.5.RELEASE.jar
-
org.springframework.spring-webmvc-5.2.5.RELEASE.jar
步骤
编写Action类
Action类实现Controller接口和 handleRequest方法,Action类必须注册到IOC容器中
ModelAndView是将我们的视图路径和数据封装起来而已【我们想要跳转到哪,把什么数据存到request域中,设置这个对象的属性就行了】
public class HelloAction implements Controller {
注册核心控制器
在web.xml中配置核心控制器
<web-app>
<!-- 注册springmvc框架核心控制器 -->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--到类目录下寻找我们的配置文件applicationContext.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<!--映射的路径为.action,即url的后缀为 action-->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<!--编码过滤器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<!--过滤所有请求-->
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
创建SpringMVC控制器
在applicationContext.xml创建SpringMVC的控制器
<!--
注册控制器
name属性的值表示的是请求的路径【也就是说,当用户请求到/hello.Action时,就交由HelloAction类进行处理】
-->
<bean class="action.HelloAction" name="/hello.action"/>