视频教程地址:http://edu.51cto.com/sd/2cfc2
在经过前面的原理讲解之后,也许大家还不说很清楚,但是对于一些组件应该有一点印象从上一章的原理图中我们也可以看到springMVC的一个核心是前端控制器(DispatcherServlet),那么这个就配置在web.xml中,其他的那些处理器映射器,处理器设配器,视图解析器,我们就配置在springmvc的配置文件中,这个其实就是一个bean
那么来看看这个入门程序的步骤:
新建web工程
导入springMVC的架包
在web.xml中配置前置过滤器
新建springmvc的配置文件配置处理器映射器,处理器适配器,视图解析器
编写处理器(Controller)
部署测试
导入架包:好多包都是spring中的jar
在web.xml中配置前置过滤器
这里实际上就是配置了一个servlet,但是这里有两个地方大家需要注意
1.管于springmvc配置文件的路径和明明问题,如果你不指定springmvc配置文件的路径,那么默认的就是你的servlet的名字-servlet.xml并且放在WEB-INF底下,要指定文件的位置可以用底下的<init-param>来指定。
2.关于URL的过滤配置,三种方式也很详细的写在下面
<servlet>
<servlet-name>dispatch</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 默认的配置文件的路径:/WEB-INF/servlet的名字-servlet.xml
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:文件名</param-value>
</init-param> -->
</servlet>
<servlet-mapping>
<servlet-name>dispatch</servlet-name>
<!--
第一种:*.html,*.action 就是过滤以.xxx结尾的
第二种:/ 所有的地址都会进入这个进行解析,静态的资源,需要添加配置
第三种:/* 他就是变态,连jsp页面都进来,结果就是报错XXXXX别用 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
新建springmvc的配置文件配置处理器映射器,处理器适配器,视图解析器
这里也有几个地方需要大家注意的
1.注解扫描路径的意思就是,你在编程中有用到注解的地方就需要扫描,否则无法识别
2.关于处理器映射器和处理器适配器的配置,这里特别需要注意的是3.1以前和3.1以后配置的是不一样的,本文是3.2的配置
3.处理器映射器和处理器适配器可以不配置,springmvc默认会配置,但是一般我们使用的叫做默认注解驱动,这个默认的注解驱动中会自己加载很多的东西,比较好用
默认的注解驱动只要加上底下这一句话就好,采用默认的注解驱动,处理器映射器和处理器适配器可以不配置
<mvc:annotation-driven/>
4.就是关于视图解析器解析返回的字符串,大家注意一下就好。
5.另外放在WEB-INF底下的文件是没办法直接访问的
<!-- 配置注解的扫描路径 --> <context:component-scan base-package="com.etc"></context:component-scan> <!-- 处理器映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> <!-- 处理器适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean> <!-- 配置视图解析器 这里会根据你控制层返回的字符串进行解析:如果返回"hello",经过这个解析器会自动加上前缀,加上后缀,变成/WEB-INF/view/hello.jsp -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/"></property> <property name="suffix" value=".jsp"></property> </bean>
编写处理器(Controller):一般在开发中会叫做控制器
还是提醒大家几点吧
1.@Controller标识该类是一个控制器
2.@RequestMapping(value="/hello")这个就是你的请求路径测试这个在浏览器中应该输入: localhost:8080/工程名/hello
3.最后一个就是返回的是字符串hello,这个在经过我们的视图解析后会变成:/WEB-INF/view/hello.jsp
@Controller public class HelloWorldController{ @RequestMapping(value="/hello") public String hello() { return "hello"; } }
部署测试:
输入地址,成成功跳转页面成功,说明这个HelloWorld程序没问题