【补充】Spring第四天原版笔记

原版笔记

##Spring Web MVC

Spring框架功能,基于IOC容器功能。

用于开发Web程序的,按MVC结构开发。

  1. Spring Web MVC结构

  2. 设计请求-响应的处理流程

/list.do–>DispatcherServlet–>HandlerMapping–>ListController–>ViewResolver–>/list.jsp

/add.do–>DispatcherServlet–>HandlerMapping–>AddController–>ViewResolver–>/success.jsp

/hello.do–>DispatcherServlet–>HandlerMapping–>HelloController(返回ModelAndView)–>ViewResolver–>/hello.jsp

  1. 流程的实现

    编写流程中需要的组件,然后追加组件配置。

    • hello.jsp
    • HelloController

    实现Controller接口、完成handleRequest方法。返回一个ModelAndView对象,设置视图名和传出数据

  2. 流程的配置

    • 配置DispatcherServlet(web.xml)

        <servlet>
      

      ​ springmvc

      ​ org.springframework.web.servlet.DispatcherServlet


      ​ contextConfigLocation
      ​ classpath:spring-mvc.xml



      ​ springmvc
      ​ *.do

    • 配置HandlerMapping

        <!-- HandlerMapping,id名没有约定 -->
      

      ​ <bean id=“handler”
      ​ class=“org.springframework.web.servlet.handler.SimpleUrlHandlerMapping”>



      ​ helloController


    • 配置Controller

        <!-- Controller,id名有约定跟handlerMapping对应 -->
      


    • 配置ViewResolver

        <!-- ViewResolver,id名没有约定 -->
      

      ​ <bean id=“viewResolver”
      ​ class=“org.springframework.web.servlet.view.InternalResourceViewResolver”>




  3. Spring Web MVC注解配置

    • 替换HandlerMapping组件

    使用RequestMappingHandlerMapping组件,支持@RequestMapping注解标记,加载Controller方法前。

     <mvc:annotation-driven />
    
    • Controller组件编写和配置

    Controller组件类可以不用实现Controller接口,方法可以灵活定义。

     public ModelAndView xxx(){...}
     public ModelAndView xxx(HttpServletRequest request){...}
     public ModelAndView xxx(HttpServletResponse response){...}
     public ModelAndView xxx(HttpServletRequest request,HttpServletResponse response){...}
    

    Controller配置可以用组件扫描,在Controller组件上使用@Controller标记

     <context:component-scan base-package="cn.xdl.web.controller"/>
    

##列表显示

/list.do–>DispatcherServlet–>HandlerMapping–>ListController–>ViewResolver–>/WEB-INF/list.jsp

  1. web.xml可以指定多个Spring配置文件,用逗号隔开

     <init-param>
    

    ​ contextConfigLocation
    ​ classpath:spring-mvc.xml,classpath:applicationContext.xml

  2. Controller使用DAO或Service,都可以采用IOC注入方式使用

    @Controller
    ​ public class ListController {

     	@Resource
     	private NewsDao newsDao;//省略了setNewsDao方法
     
     	//其他省略
     
     }
    
  3. list.jsp页面采用JSTL+EL表达式列表显示

    • 导入jstl开发包

    • 在jsp添加标签库引入

        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      
    • 使用<c:forEach>标记循环

        <table>
        <c:forEach items="${news}" var="news">
        	<tr>
        		<td>${news.title}</td>
        		<td>${news.releaseTime}</td>
        	</tr>
        </c:forEach>
        </table>
      

Spring功能结构图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值