SpringMVC入门程序
1 入门程序
1.1 需求
实现商品列表查询
1.2 需要的jar包
使用spring3.2.0(带springwebmvc模块)
1.3 前端控制器
在web.xml中配置:
<!-- 配置前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 加载springmvc配置 -->
<init-param>
<!-- 如果没有配置contextConfigLocation
默认查找的配置文件名称classpath下的:servlet名称+"-servlet.xml",即springmvc-servlet.xml -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
1.4 springmvc.xml
在springmvc.xml中配置springmvc架构三大组件(处理器映射器、适配器、视图解析器)
1.5 工程结构
1.6 处理器映射器
在springmvc.xml中配置:
BeanNameUrlHandlerMapping:根据请求url(XXXX.action)匹配spring容器bean的name
找到对应的bean(程序编写的Handler)
<!--根据bean的name进行查找Handler将action的url配置在bean的name中-->
<bean
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
所有处理器映射器都实现HandlerMapping接口。
1.7 处理器适配器
在springmvc.xml配置:
<beanclass="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
所有的适配器都是实现了HandlerAdapter接口。
程序编写Handler根据适配器的要求编写。
SimpleControllerHandlerAdapter适配器要求:
通过supports方法知道Handler必须要实现哪个接口:
1.8 Handler编写和JSP编写
需要实现Controller接口:
//JSP页面记得添加上以下标签,因为使用到jstl标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
1.9 配置Handler
在springmvc.xml配置Handler由spring管理Handler。
<!-- 配置handler,由于使用了BeanNameUrlHandlerMapping,所以bean的name为url -->
<beanname="/itemsList.action"class="com.demo.test.action.ItemController"/>
1.10 配置视图解析器
配置视图解析,能够解析jsp视图:
<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
1.11 工程部署
访问:http://localhost:8080/Springmvc/itemsList.action
1.12 异常
1.12.1 HandlerMapping没有找到Handler
HandlerMapping没有找到Handler,404后边不显示jsp路径
1.12.2 jsp页面地址错误