目录


配置前端控制器

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"/>

(二)springMvc 入门的更多相关文章

  1. Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...

  2. Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)--S ...

  3. SpringMVC入门学习(二)

    SpringMVC入门学习(二) ssm框架 springMVC  在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...

  4. SpringMVC.入门篇《二》form表单

    SpringMVC.入门篇<二>form表单 项目工程结构: 在<springmvc入门篇一.HelloWorld>基础上继续添加代码,新增:FormController.ja ...

  5. springMVC入门二

    一.准备工作 参考springMVC入门一,搭建maven项目如下: 前台结构如下: 项目介绍:使用springMVC实现前后台数据交互,例如controller返回json,页面传入pojo 二.具 ...

  6. Java开发学习(二十三)----SpringMVC入门案例、工作流程解析及设置bean加载控制

    一.SpringMVC概述 SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装.SpringMVC是处于Web层的框架,所以其主要的作用就是用来 ...

  7. 【SSM】学习笔记(二)——SpringMVC入门

    原视频链接:https://www.bilibili.com/video/BV1Fi4y1S7ix/?p=43&spm_id_from=pageDriver&vd_source=8ae ...

  8. 【Spring】SpringMVC入门示例讲解

    目录结构: // contents structure [-] SpringMVC是什么 Spring MVC的设计原理 SpringMVC入门示例 1,复制Jar包 2,Web.xml文件 3,My ...

  9. SpringMVC入门(基于XML方式实现)

    ----------------------siwuxie095 SpringMVC 入门(基于 XML 方式实现) (一)搭建 SpringMVC 环境 1.先下载相关库文件,下载链接: (1)ht ...

  10. 零基础学习java------38---------spring中关于通知类型的补充,springmvc,springmvc入门程序,访问保护资源,参数的绑定(简单数据类型,POJO,包装类),返回数据类型,三大组件,注解

    一. 通知类型 spring aop通知(advice)分成五类: (1)前置通知[Before advice]:在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常. (2)正常返回通知 ...

随机推荐

  1. Simple Problem with Integers(POJ 3486)

                                                                  A Simple Problem with Integers Time Li ...

  2. scrapy框架之log日志

    scrapy中的debug信息 在scrapy中设置log 1.在settings中设置log级别,在settings.py中添加一行: Scrapy提供5层logging级别: CRITICAL - ...

  3. BZOJ 4734 UOJ #269 如何优雅地求和 (多项式)

    题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4734 (UOJ) http://uoj.ac/problem/269 题解 ...

  4. 解决python在命令行中运行时导入包失败,出现错误信息 "ModuleNotFoundError: No module named ***"

    转自https://www.cnblogs.com/dreamyu/p/7889959.html https://www.cnblogs.com/lifeofershisui/p/8135702.ht ...

  5. xpath 轴定位表达方式

    xpath的使用基本语法: 1.// 从根节点开始,查找对象是全文. 2./ 从当前标签的路径开始查找 3.text()获取当前路径下的文本 4.@+类名或者id名 查找类名或者id的名字 5. .一 ...

  6. electron之环境安装、启动程序

    1.安装node.js 2.安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 3.安装全局electron n ...

  7. SQL优化 | sql执行过长的时间,如何优化?

    1.查看sql是否涉及多表的联表或者子查询,如果有,看是否能进行业务拆分,相关字段冗余或者合并成临时表(业务和算法的优化) 2.涉及链表的查询,是否能进行分表查询,单表查询之后的结果进行字段整合 3. ...

  8. 背包DP 方案数

    题目 1 P1832 A+B Problem(再升级) 题面描述 给定一个正整数n,求将其分解成若干个素数之和的方案总数. 题解 我们可以考虑背包DP实现 背包DP方案数板子题 f[ i ] = f[ ...

  9. Visual Studio Team Systems

    https://www.cnblogs.com/33568639/archive/2008/12/29/1364222.html https://baike.sogou.com/v7818386.ht ...

  10. Eclipse的下载地址

    下载地址:http://eclipse.org/