1.SpringMvc--初识springmvc
引自@精品唯居
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的更多相关文章
- 初识SpringMvc
初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...
- SpringMVC学习系列(1) 之 初识SpringMVC
1.前言: 与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题.由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论 ...
- springMVC学习笔记--初识springMVC
前一段时间由于项目的需要,接触了springMVC(这里主要是讲3.1版,以下内容也是围绕这个版本展开),发觉其MVC模式真的很强大,也简单易用,完全是基于注解实现其优雅的路径配置的.想想以前接手的项 ...
- [一]初识SpringMVC
是什么? web开发框架 为什么用? 功能强大 怎么做? 1.导入jar包 2.配置web.xml <?xml version="1.0" encoding="UT ...
- SpringMVC基础学习(一)—初识SpringMVC
一.HelloWorld 1.导入SpringMVC所需的jar包 2.配置web.xml 配置DispatcherServlet.DispatcherServlet默认加载/ ...
- 初识 SpringMVC
1.Spring MVC 的工作流程 1.web请求被 前端控制器(DispatcherServlet)拦截 2.DispatcherServlet调用 映射处理器(HandelerMapping)查 ...
- springMvc入门--初识springMvc
springMvc是什么 springmvc是表现层的框架,是一个spring的表现层组件.是整个spring框架的一部分,但是也可以不使用springmvc.跟struts2框架功能类似.其中的mv ...
- 1.1(Spring MVC学习笔记)初识SpringMVC及SpringMVC流程
一.Spring MVC Spring MVC是Spring提供的一个实现了web MVC设计模式的轻量级Web框架. Spring优点:网上有,此处不复述. 二.第一个Spring MVC 2.1首 ...
- spring test---測试SpringMvc初识
如今越来越多人使用SpringMvc来开发系统,在开发中可定须要对后台url地址请求測试,而且返回预期的结果! Spring提供的測试类MockMvc来进行url地址请求測试,使用方方式: packa ...
随机推荐
- Java笔记5:单例模式
一.应用杨景 在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或少具有资源管理器的功能.每台计算机可以有若干个打印机,但只能有一个Printer ...
- HBase设计与开发
HBase设计与开发 @(HBase) 适合HBase应用的场景 成熟的数据分析主题,查询模式已经确定且不会轻易改变. 传统数据库无法承受负载. 简单的查询模式. 基本概念 行健:是hbase表自带的 ...
- 轻松学习JavaScript十二:JavaScript基于面向对象之创建对象(二)
四原型方式 我们创建的每一个函数都有一个通过prototype(原型)属性.这个属性是一个对象,它的用途是包括能够由特定类型 的全部实例共享的属性和方法. 逻辑上能够这么理解:prototypt通过条 ...
- maven 打包不全(xml,properties文件没打进包)解决方案
在pom.xml的build标签中加入以下代码即可 <build> <resources> <resource> ...
- libevent2源码分析之一:前言
event的本质 libevent2中的event的本质是什么?只要是非同步阻塞的运行方式,肯定遵循事件的订阅-发布模型.通过event_new的函数原型可以理解,一个event即代表一次订阅,建立起 ...
- RSA的密钥把JAVA格式转换成C#的格式(2)
把C#格式转换成Java:RSA的密钥把JAVA格式转换成C#的格式(1) 我已经在第一篇介绍过如何把C#格式转换成Java,现在来看看如何把Java格式转换成C#. /// <summary& ...
- Mysql纯命令行添加用户及权限
原文链接:http://hi.baidu.com/ngy1991/item/45978bd05d82c7ea785daa42 创建用户: 命令: 1 CREATE USER 'username'@'h ...
- RabbitMQ 学习笔记(一)特点
RabbitMQ 的具体特点 可靠性: RabbitMQ 使用一些机制来保证可靠性, 如持久化.传输确认及发布确认等. 令灵活的路由: 在消息进入队列之前,通过交换器来路由消息.对于典型的路由功能,R ...
- 【Android 开发教程】动态添加Fragments
本章节翻译自<Beginning-Android-4-Application-Development>,如有翻译不当的地方,敬请指出. 原书购买地址http://www.amazon.co ...
- Android编程之Fragment使用动画造成Unknown animation name: objectAnimator异常
在为Fragment做切换动画.启动后遇到了一个异常: Caused by: java.lang.RuntimeException: Unknown animation name: objectAni ...