springMvc是什么

springmvc是表现层的框架,是一个spring的表现层组件。是整个spring框架的一部分,但是也可以不使用springmvc。跟struts2框架功能类似。其中的mvc指的是,表现层的Model、View、controller。

springMvc可以做什么

springmvc可以接收用户的数据以及将数据显示给用户。

springMvc的工作原理

springMvc的入门程序

下面,我们一起来创建一个基于springmvc框架的小demo。

第一步:创建一个dynamic web project 项目,取名为springmvc。

第二步:将我们的程序用到的jar包导入webContent目录下的WEB-INF目录下的lib文件夹中,具体如下图所示:

第三步:创建springmvc.xml文件

这是springmvc的核心配置文件,可以在该文件中配置一些springmvc的设置,如开启注解、注解驱动、试图解析器等。如果没有配置该文件,框架默认会去找/WEB-INF/springMvc0917-servlet.xml文件,如果依然找不到,那么就会抛出异常。

该文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!-- 开启注解扫描, 这样@Controller, @Service等注解才会生效 -->
<context:component-scan base-package="cn.itcast.controller"></context:component-scan>
</beans>

第四步:配置前端控制器,在web.xml中添加DispatcherServlet的配置。将springmvc框架通过web.xml文件,配置到我们的系统中。并且将springMvc.xml中的配置注入到我们的框架中去。

web.xml中的代码如下:

    

 <!-- 前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--
/* 在springMvc中不可以使用, 因为/* 所有的路径都会进入到DispatcherServlet中但是不放行
/ 所有的url路径都会进入DispatcherServlet, 放行.jsp的文件, 其他文件都不放行包括.js.css.png.jpg等
*.action url路径只有以.action结尾的才可以进入DispatcherServlet, 并放行
-->
<url-pattern>*.action</url-pattern>
</servlet-mapping>

第五步:创建ItemsController
         ItemController是一个普通的java类,不需要实现任何接口,只需要在类上添加@Controller注解即可。@RequestMapping注解指定请求的url,其中“.action”可以加也可以不加。在itmesController中@RequestMapping("/list")指的是,我们在访问ModelAndView这个方法的时候,在url路径上需要写的地址是:主机名:端口号名/工程名称/list.action。modelAndView.addObject("itemList",
itemList);则是将一个itemList对象存入request域中,存的名称则是前面第一参数中的itemList。modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");设置的是返回到哪个页面。

  

 package cn.itcast.controller;

 import java.util.ArrayList;
import java.util.List; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import cn.itcast.pojo.Items; @Controller
public class ItemsController { //表示url到请求方法的映射, 其实就是通过浏览器中输入一个url, 这个url可以对应访问到一个controller中的方法
@RequestMapping("/list")
public ModelAndView list() throws Exception{
List<Items> itemList = new ArrayList<>(); //商品列表
Items items_1 = new Items();
items_1.setName("联想笔记本_3");
items_1.setPrice(6000f);
items_1.setDetail("ThinkPad T430 联想笔记本电脑!"); Items items_2 = new Items();
items_2.setName("苹果手机");
items_2.setPrice(5000f);
items_2.setDetail("iphone6苹果手机!"); itemList.add(items_1);
itemList.add(items_2); //模型和视图
//模型中可以放入返回给页面的数据,
//视图中放了页面的路径
ModelAndView modelAndView = new ModelAndView();
//将返回给页面的数据放入其中
modelAndView.addObject("itemList", itemList);
//指定页面的逻辑路径
//逻辑路径: 就是页面地址的字符串
//物理路径: 物理路径就是页面的对象
modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");
return modelAndView;
}
}

springMvc入门--初识springMvc的更多相关文章

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

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

  2. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  3. SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)

    SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图 Spr ...

  4. ②springMVC入门

    1 1.1      需求 以案例作为驱动. springmvc和mybaits使用一个案例(商品订单管理). 功能需求:商品列表查询 1.2      环境准备 数据库环境:mysql5.1

  5. springmvc入门详解

    首先,我们先写一个入门小案例,先熟悉一下springmvc是什么,了解一下springmvc的运行流程,对加强springmvc的深层理解有很大帮助 .第一步,创建一个maven项目: <?xm ...

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

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

  7. SpringMVC入门第二天

    SpringMVC第二天 1.   回顾 1.Springmvc介绍? Springmvc是Spring公司 2.Springmvc入门程序 第一步:Web工程 第二步:导Jar包 第三步:web.x ...

  8. 3.2.1 SpringMVC入门

    一. SpringMVC入门 1. MVC介绍 MVC全名 是Model View Controller, 是模型(model) - 视图(view) - 控制器(controller) 的缩写, 它 ...

  9. SpringMVC入门学习(二)

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

随机推荐

  1. GIS案例学习笔记-ArcGIS整图大图出图实例教程

    GIS案例学习笔记-ArcGIS整图大图出图实例教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 1. 通过出图比例尺(1:2000),地图范围测算图纸大小. 图 ...

  2. EMbedding

    FNN模型:非端到端 输入 --> 特征onehot --->FM 模型--->输出每个特征权重及因子值  ----> 输入神经网络  ----> 输出每个预测值 此为一 ...

  3. tensorflow 指定使用gpu处理,tensorflow占用多个GPU但只有一个在跑

    我们在刚使用tensorflow的过程中,会遇到这个问题,通常我们有多个gpu,但是 在通过nvidia-smi查看的时候,一般多个gpu的资源都被占满,但是只有一个gpu的GPU-Util 和 21 ...

  4. powerdessigner使用教程

    https://jingyan.baidu.com/article/86fae346e089393c49121a11.html

  5. CSS Media Query

    [CSS Media Query] CSS Media Queries are a feature in CSS3 which allows you to specify when certain C ...

  6. msf客户端渗透(四):关闭UAC,hash、防火墙、服务、磁盘、DEP、防病毒、远程桌面、桌面截图、获取tooken

    关闭UAC 如果你获得一个system权限的session 进入到这个session 进入到shell 依次输入以下命令 cmd.exe /k %windir%\System32\reg.exe AD ...

  7. python模块部分 re模块 之正则表达式

    python 全栈开发 1.什么是模块 2.正则表达式 一.什么是模块? 1.模块: 是一组功能的集合 你要和一个东西打交道,但是这个东西本身和python没有关系,这个东西本身就存在, 这时,pyt ...

  8. 虚拟机安装的ubutun全屏

    虚拟机下面安装了ubuntu系统,显示的屏幕只有那么一小块儿,不知道如何才能全屏,那么如何全屏呢?且看下面经验.   方法/步骤     打开虚拟机,并点击要更改成全屏的那个ubuntu系统的电源 我 ...

  9. python 最简单的爬虫

    import urllib.request file=urllib.request.urlopen("http://www.qq.com") data=file.read() da ...

  10. POJ-3984.迷宫问题(BFS + 路径输出)

    昨天中午做的这道题,结果蛙了一整天,就因为一行代码困住了,今天算是见识到自己有多菜了.流泪.jpg 本题大意:给一个5 * 5的迷宫,1表示墙壁,0表示通路,从左上角走到右下角并输出路径. 本题思路: ...