zoukankan      html  css  js  c++  java
  • (二)springMvc 入门

    目录


    配置前端控制器

    web.xml 配置 DispatcherServlet

      <!-- **************************** 配置springMvc前端控制器(DispatcherServlet)************************* -->
    
        <!--前端控制器是个servlet,因此,这里就像配置servlet一样-->
        <servlet>
            <servlet-name>springMvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!--初始化读取配置文件,我们指定配置文件在哪;
                    否则默认加载 /WEB-INF/servlet-name-servlet.xml 
                    我们这里的 servlet-name 是 springMvc ,那么就是去加载 servlet-name.xml    
            -->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:xin/ijava/ssm/config/springMvc.xml</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>springMvc</servlet-name>
            <!--
                1、 *.action 拦截 .action 结尾的url
                2、/ 拦截所有url,即使是访问 静态资源也会被拦截,全部走前端控制器,可以实现 resultFul 风格的url
                3、/*  这样配置不对,当转发到jsp页面时,还是会交给前端控制器,去找处理器
            -->
            <url-pattern>*.action</url-pattern>
        </servlet-mapping>

    servlet拦截方式

    1. 拦截固定后缀的 url

      比如 *.action*.do ;这种拦截,不会拦截静态资源,因为静态资源的后缀,css , js , jpg , png ... 不再拦截的范围内 ;

    2. 拦截所有 url

      设置为 /

      这样静态资源也会被拦截,导致不能正常显示,需要做特殊处理 ;


    springMvc的配置文件

    spring 的配置文件一样,我们的 处理器映射器处理器适配器视图解析器 都在其中进行配置 ;

    其中 视图解析器 用到 JSTL 注意导入包。

        <!--配置处理器适配器-->
        <!--所有的处理器适配器,都实现了 HandlerAdapter -->
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    
        <!--配置适配器映射器-->
        <!--bean的名字,就是映射 map 中的键 -->
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    
        <!--配置视图解析器-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>

    编写处理器类

    自定义处理器类,需要实现 Controller 接口 ;

    /**
     * 自定义 处理器类。所有处理器都需要实现 Controller 接口,
     * 包不要导入错了,导 mvc 下面的包
     * @author An
     */
    public class ItemsController implements Controller {
        @Override
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    
            List<Item> items = new ArrayList<>() ;
            Item item1 = new Item();
            item1.setId(001);
            item1.setName("锋麦笔记本");
            Item item2 = new Item();
            item1.setId(999);
            item1.setName("牛奶");
    
            items.add(item1) ;
            items.add(item2) ;
    
    //        创建 ModelAndView
            ModelAndView modelAndView = new ModelAndView() ;
    //        添加model,也就是数据。(键值对)
    //        在页面中取数据,就是根据键名
            modelAndView.addObject("items",items) ;
    //        添加视图,也就是界面
            modelAndView.setViewName("/WEB-INF/jsp/Item/ItemController.jsp0");
    
            return modelAndView;
        }
    }

    配置自定义处理器

    <!--配置自定义处理器 -->
    <!-- name 就是url地址-->
        <bean name="/queryItems.action" class="xin.ijava.ssm.controller.ItemsController"/>
  • 相关阅读:
    大数据基础---Scala_Array
    大数据基础---Scala流程控制语句
    大数据基础---Scala基本数据类型和运算符
    大数据基础---Scala简介及开发环境配置
    大数据基础---Flink_Standalone_集群部署
    大数据基础---Flink状态管理与检查点机制
    大数据基础---Flink_窗口模型
    大数据基础---Flink_Data_Sink
    IDL keywords 检查
    IDL 多线程
  • 原文地址:https://www.cnblogs.com/young-youth/p/11665663.html
Copyright © 2011-2022 走看看