springMVC_基本开发及配置
2017-07-20 11:41
267 查看
1. 导包
因为springMVC是spring的一个web应用包,所以,只需要再spring需要导的包的基础上再多导入spring-webmvc-3.2 RELESE.jar包就可以了。
2. 前端控制器(DispatcherServlet)配置
3. 处理器映射器(HandlerMapping)配置
<1>在springmvc.xml中配置:
我们用到了这个处理器映射器BeanNameUrlHandlerMapping,它是根据请求URL(XXXX.action)匹配spring容器bean的name,找到相对应的bean(程序编写的Handler)。
注意:所有的处理器映射器都实现HandlerMapping接口。
<2>使用注解方式
4. 处理器适配器(HandlerAdapter)配置
<1>在springmvc.xml中进行配置:
程序编写Handler根据适配器的要求编写。
SimpleControllerHandlerAdapter适配器要求
通过supports方法知道Handler必须要实现哪个接口
注意:所有的处理器适配器都实现HandlerAdater接口。
<2>注解适配器的方式
5. Handler编写
<1>开发Handle
<2>注解开发Handle
6. 处理器(Handler)配置
<1>Handler由springMVC管理,在springmvc.xml中进行配置。
<2>使用注解配置
建议使用组件扫描,组件扫描可以扫描@Controller、@Service、@component、@Repsitory等
7. 视图解析器(ViewResolver)配置
因为springMVC是spring的一个web应用包,所以,只需要再spring需要导的包的基础上再多导入spring-webmvc-3.2 RELESE.jar包就可以了。
2. 前端控制器(DispatcherServlet)配置
<!-- 前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 加载springmvc配置 --> <init-param> <param-name>contextConfigLocation</param-name> <!-- 配置文件的地址 如果不配置contextConfigLocation, 默认查找的配置文件名称classpath下的:servlet名称+"-serlvet.xml"即:springmvc-serlvet.xml --> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 可以配置/ ,此工程 所有请求全部由springmvc解析,此种方式可以实现 RESTful方式,需要特殊处理对静态文件的解析不能由springmvc解析。 可以配置*.do或*.action,所有请求的url扩展名为.do或.action由springmvc解析,此种方法常用。 不可以/*,如果配置/*,返回jsp也由springmvc解析,这是不对的。 --> <url-pattern>*.action</url-pattern> </servlet-mapping>
3. 处理器映射器(HandlerMapping)配置
<1>在springmvc.xml中配置:
<!-- 配置处理器映射器 springmvc框架根据HandlerMapping接口判断是否是处理器映射器 --> <!-- 根据bean的name进行查找Handler 将action的url配置在bean的name中 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> </bean>
我们用到了这个处理器映射器BeanNameUrlHandlerMapping,它是根据请求URL(XXXX.action)匹配spring容器bean的name,找到相对应的bean(程序编写的Handler)。
注意:所有的处理器映射器都实现HandlerMapping接口。
<2>使用注解方式
spring3.1之前默认加载映射器是 org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping。 3.1之后要使用: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping 在springmvc.xml中配置RequestMappingHandlerMapping: 使用RequestMappingHandlerMapping需要在Handler中使用@controller标识此类是一个控制器,使用@requestMapping指定Handler方法所对应的url。
4. 处理器适配器(HandlerAdapter)配置
<1>在springmvc.xml中进行配置:
<!-- 配置处理器适配器 springmvc框架根据HandlerAdapter接口判断是否是处理器适配器 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
程序编写Handler根据适配器的要求编写。
SimpleControllerHandlerAdapter适配器要求
通过supports方法知道Handler必须要实现哪个接口
注意:所有的处理器适配器都实现HandlerAdater接口。
<2>注解适配器的方式
spring3.1之前默认加载映射器是 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter,3.1之后要使用: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter RequestMappingHandlerAdapter,不要求Handler实现任何接口,它需要和RequestMappingHandlerMapping注解映射器配对使用,主要解析Handler方法中的形参。
5. Handler编写
<1>开发Handle
public class ItemController2 implements HttpRequestHandler { @Override public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 使用静态数据将商品信息列表显示在jsp页面 // 商品列表 List<Items> itemsList = new ArrayList<Items>(); Items items_1 = new Items(); items_1.setName("联想笔记本"); items_1.setPrice(6000f); items_1.setCreatetime(new Date()); items_1.setDetail("ThinkPad T430 联想笔记本电脑!"); Items items_2 = new Items(); items_2.setName("苹果手机"); items_2.setPrice(5000f); items_2.setDetail("iphone6苹果手机!"); itemsList.add(items_1); itemsList.add(items_2); request.setAttribute("itemsList", itemsList); //转发到jsp页面 request.getRequestDispatcher("/WEB-INF/jsp/itemsList.jsp").forward(request, response); }
<2>注解开发Handle
@Controller public class ItemController3 { //商品列表,@RequestMapping中url建议和方法名一致,方便开发维护 @RequestMapping("/queryItems") public ModelAndView queryItems(){ // 使用静态数据将商品信息列表显示在jsp页面 // 商品列表 List<Items> itemsList = new ArrayList<Items>(); Items items_1 = new Items(); items_1.setName("联想笔记本"); items_1.setPrice(6000f); items_1.setCreatetime(new Date()); items_1.setDetail("ThinkPad T430 联想笔记本电脑!"); Items items_2 = new Items(); items_2.setName("苹果手机"); items_2.setPrice(5000f); items_2.setDetail("iphone6苹果手机!"); itemsList.add(items_1); itemsList.add(items_2); ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("itemsList", itemsList); //指定逻辑视图名 modelAndView.setViewName("itemsList"); return modelAndView; }
6. 处理器(Handler)配置
<1>Handler由springMVC管理,在springmvc.xml中进行配置。
<!-- 配置Handler 由于上面使用了BeanNameUrlHandlerMapping处理映射器,name配置为url --> <bean id="itemController1" name="/itemList.action" class="cn.itcast.springmvc.first.ItemController1"> </bean> <!-- handler2 --> <bean id="itemController2" class="cn.itcast.springmvc.first.ItemController2"> </bean> <!--简单url映射 集中配置bean的id对应 的url --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/itemsTest1.action">itemController1</prop> <prop key="/itemsTest2.action">itemController2</prop> </props> </property> </bean>
<2>使用注解配置
<!-- 注解的handler,单个配置 --> <!-- <bean class="cn.itcast.springmvc.first.ItemController3"/> --> <!-- 使用spring组件扫描 --> <context:component-scan base-package="cn.itcast.springmvc.first" />
建议使用组件扫描,组件扫描可以扫描@Controller、@Service、@component、@Repsitory等
7. 视图解析器(ViewResolver)配置
<!-- 配置视图解析器 要求将jstl的包加到classpath --> <!-- ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean>
相关文章推荐
- SpringMvc——进行注解开发的基本配置
- SpringMvc——进行注解开发的基本配置
- SpringMVC开发环境基本配置
- Android Studio1.4.x JNI开发基础-基本环境配置
- 开发环境配置及基本运行原理讲解
- SpringMVC的xml配置开发
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- Linux Ubuntu 基本开发环境搭建及配置
- SpringMVC之web.xml基本配置
- SpringMVC开发一:SpringMVC的maven搭建及配置
- springmvc mybatis redis mysql maven搭建基本开发框架 (一)
- SpringMVC-基本配置
- (不推荐使用)springMVC基本配置+controller层实现Controller接口
- spring,springMVC的优点和区别 spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下 ◆目的:解决企业应用开发的复杂性 ◆功能:使用基本的JavaBean代替EJB,并
- (推荐使用)SpringMVC注解,基本配置
- 使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置
- MyEclipse + Maven开发springMVC的WEB工程的详细配置过程
- OpenCV-ios开发之一基本配置
- web开发时基本的配置和工具需求 工具在我的资源里可以里免费下载 主要针对mysql 比较齐全