引自@精品唯居

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;
}
}
 

1.SpringMvc--初识springmvc的更多相关文章

  1. 初识SpringMvc

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

  2. SpringMVC学习系列(1) 之 初识SpringMVC

    1.前言: 与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题.由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论 ...

  3. springMVC学习笔记--初识springMVC

    前一段时间由于项目的需要,接触了springMVC(这里主要是讲3.1版,以下内容也是围绕这个版本展开),发觉其MVC模式真的很强大,也简单易用,完全是基于注解实现其优雅的路径配置的.想想以前接手的项 ...

  4. [一]初识SpringMVC

    是什么? web开发框架 为什么用? 功能强大 怎么做? 1.导入jar包 2.配置web.xml <?xml version="1.0" encoding="UT ...

  5. SpringMVC基础学习(一)—初识SpringMVC

    一.HelloWorld 1.导入SpringMVC所需的jar包        2.配置web.xml      配置DispatcherServlet.DispatcherServlet默认加载/ ...

  6. 初识 SpringMVC

    1.Spring MVC 的工作流程 1.web请求被 前端控制器(DispatcherServlet)拦截 2.DispatcherServlet调用 映射处理器(HandelerMapping)查 ...

  7. springMvc入门--初识springMvc

    springMvc是什么 springmvc是表现层的框架,是一个spring的表现层组件.是整个spring框架的一部分,但是也可以不使用springmvc.跟struts2框架功能类似.其中的mv ...

  8. 1.1(Spring MVC学习笔记)初识SpringMVC及SpringMVC流程

    一.Spring MVC Spring MVC是Spring提供的一个实现了web MVC设计模式的轻量级Web框架. Spring优点:网上有,此处不复述. 二.第一个Spring MVC 2.1首 ...

  9. spring test---測试SpringMvc初识

    如今越来越多人使用SpringMvc来开发系统,在开发中可定须要对后台url地址请求測试,而且返回预期的结果! Spring提供的測试类MockMvc来进行url地址请求測试,使用方方式: packa ...

随机推荐

  1. Yii使用公共函数

    在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便. 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其 ...

  2. 【Git】Git hangs while unpacking objects (Windows)

    Git hangs while unpacking objects (Windows) 14 Oct 2014 I'm not sure if this is because we're behind ...

  3. Docker核心技术

    Docker核心技术 1.cgroup 即controller group,其重要概念是子系统,首先挂载子系统,然后才有control group.例如cpu子系统,挂载至系统之后,创建一个cgrou ...

  4. 向Solr数据集提交Json格式数据(Scala,Post)

    import scalaj.http.Http class SolrAdd () {// 方法接受两个参数,dataType为数据集名称,jsonString为数据json字符串 def postTo ...

  5. angular - 如何运行在起来 - 使用nginx

    nginx下载地址,使用的是标准版的: 点击下载nginx nginx下载完后,解压 dist文件夹下面所有angular文件放入html文件夹中. 最后命令行cd到当前nginx.exe目录,启动命 ...

  6. openerp编辑与非编辑下隐藏按钮的方法

    在form表单中,有些控件希望在编辑的时候显示,非编辑时不显示,如hr模块的员工表单,在非编辑模式中,姓名的title不显示,而在编辑模式中显示出来.我们可以在xml文件中给控件赋属性值,class= ...

  7. Android之——ContentResolver查询的三种方式

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47785491 今天做到一个小项目.查询手机中短信的信息,当然得去系统暴露出来的数据 ...

  8. windows 2008 R2 x64安装oracle12c报INS-30131

    问题描述:Window 2008 R2 x64安装Oracle12c报[INS-30131]执行安装程序验证所需的初始设置失败 解决方法:先在控制面板的“服务”,看SERVER服务是否启动,如果没有启 ...

  9. win10 rabbitMQ的安装与测试

    安装 1.首先,下载并运行Erlang for Windows 安装程序 (地址:http://www.erlang.org/downloads)下载完毕并安装(注意:安装目录请选择默认目录) 2.下 ...

  10. iOS定位服务CoreLocation

    欢迎訪问我的新博客: 开发人员说 基于LBS的应用开发是当今移动开发中的一大热门, 当中主要涉及到地图和定位两个方面. iOS开发中, 定位服务依赖于CoreLocation框架, CLLocatio ...