(二)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拦截方式
拦截固定后缀的
url比如
*.action、*.do;这种拦截,不会拦截静态资源,因为静态资源的后缀,css , js , jpg , png ...不再拦截的范围内 ;拦截所有
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 入门的更多相关文章
- Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)--S ...
- SpringMVC入门学习(二)
SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...
- SpringMVC.入门篇《二》form表单
SpringMVC.入门篇<二>form表单 项目工程结构: 在<springmvc入门篇一.HelloWorld>基础上继续添加代码,新增:FormController.ja ...
- springMVC入门二
一.准备工作 参考springMVC入门一,搭建maven项目如下: 前台结构如下: 项目介绍:使用springMVC实现前后台数据交互,例如controller返回json,页面传入pojo 二.具 ...
- Java开发学习(二十三)----SpringMVC入门案例、工作流程解析及设置bean加载控制
一.SpringMVC概述 SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装.SpringMVC是处于Web层的框架,所以其主要的作用就是用来 ...
- 【SSM】学习笔记(二)——SpringMVC入门
原视频链接:https://www.bilibili.com/video/BV1Fi4y1S7ix/?p=43&spm_id_from=pageDriver&vd_source=8ae ...
- 【Spring】SpringMVC入门示例讲解
目录结构: // contents structure [-] SpringMVC是什么 Spring MVC的设计原理 SpringMVC入门示例 1,复制Jar包 2,Web.xml文件 3,My ...
- SpringMVC入门(基于XML方式实现)
----------------------siwuxie095 SpringMVC 入门(基于 XML 方式实现) (一)搭建 SpringMVC 环境 1.先下载相关库文件,下载链接: (1)ht ...
- 零基础学习java------38---------spring中关于通知类型的补充,springmvc,springmvc入门程序,访问保护资源,参数的绑定(简单数据类型,POJO,包装类),返回数据类型,三大组件,注解
一. 通知类型 spring aop通知(advice)分成五类: (1)前置通知[Before advice]:在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常. (2)正常返回通知 ...
随机推荐
- 解决MySQL5.7在MAC下登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)问题
问题描述 今天在MAC上安装完MYSQL后,MYSQL默认给分配了一个默认密码,但当自己在终端上使用默认密码登录的时候,总会提示一个授权失败的错误:ERROR 1045 (28000): Access ...
- html预加载之link标签
我们之前提及过link rel 里面有preload和prefetch.modulepreload,都是用于预加载资源 <link rel="preload" href=&q ...
- 字典-Python基础前传(9)
(一)Python中为什么要有字典 jacky说科学存在的逻辑只有两个: 1.解释问题 2.解决问题 我们明白了科学的逻辑,我们理解任何的知识和技能,都是很简单的 之前jacky跟大家说list因为太 ...
- oracle中查询某个库中所有的表以及所占的表空间大小
1. 查某一用户下的表select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from USER_extents where SEG ...
- ArcGIS Server“无法创建站点,计算机不具有有效的的许可”
问题描述 ArcGIS Server10.5安装过程中,所有授权和破解均已完成,但是最后一步创建站点的时候显示创建失败,会出现如下图所示的问题:既“无法创建站点,计算机不具有有效的的许可…”,经历了卸 ...
- CISCO实验记录七:OSPF
一.要求 1.使用OSPF创建路由表 2.查看OSPF邻居 二.实现 1.使用OSPF创建路由表 #router ospf 1 #network 192.168.1.0 0.0.0.255 area ...
- Linux之破解root密码
破解CentOs6的root口令 进入单用户模式 重启后在下面界面按任意键 进入此界面后“ a ”在下面界面 输入1 进入单用户模式1之前有空格 按回车键进入命令行执行passwd命令直接修 ...
- 怎么通过原生JS改变元素的class属性
解决方法:document.getElementById('test').className = 'emphasis' Eg: <!doctype html> <html lang= ...
- Qt osg QWidget osgViewer::Viewer
osgViewer::Viewer* _viewer = nullptr; _viewer = new osgViewer::Viewer;osg::ref_ptr<osg::Group> ...
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_15-webpack研究-webpack-dev-server-程序调试
webpack把我们的js文件都打包了.所以不能用chrome的调试工具. 打包生成的js文件比较乱无法跟踪. 配置好了以后就可以让浏览器查看到打包后的源代码 在源代码这里加一个debuuger 这里 ...