什么是Springmvc以及如果编写第一个入门程序
Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如下图:
Springmvc处理流程
入门程序
创建web工程
springMVC是表现层框架,需要搭建web工程开发。
如下图创建动态web工程:
输入工程名,选择配置Tomcat(如果已有,则直接使用),如下图:
配置Tomcat,如下图
选择准备好的Tomcat,这里用的是Tomcat7,如下图:
选择成功,点击Finish,如下图:
如下图选择web的版本是2.5,可以自动生成web.xml配置文件
导入jar包
从课前资料中导入springMVC的jar包,位置如下图:
加入配置文件
创建config资源文件夹,存放配置文件,如下图:
创建springmvc.xml
创建SpringMVC的核心配置文件
SpringMVC本身就是Spring的子项目,对Spring兼容性很好,不需要做很多配置。
这里只配置一个Controller扫描就可以了,让Spring对页面控制层Controller进行管理。
创建springmvc.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: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.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 配置controller扫描包 --><context:component-scan base-package="cn.itcast.springmvc.controller" /></beans>
配置文件需要的约束文件,位置如下图:
创建包cn.itcast.springmvc.controller
效果如下图:
配置前端控制器
配置SpringMVC的前端控制器DispatcherServlet
在web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>springmvc-first</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><!-- 配置SpringMVC前端控制器 --><servlet><servlet-name>springmvc-first</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 指定SpringMVC配置文件 --><!-- SpringMVC的配置文件的默认路径是/WEB-INF/${servlet-name}-servlet.xml --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc-first</servlet-name><!-- 设置所有以action结尾的请求进入SpringMVC --><url-pattern>*.action</url-pattern></servlet-mapping>
</web-app>
加入jsp页面
把参考资料中的itemList.jsp复制到工程的/WEB-INF/jsp目录下,如下图:
实现显示商品列表页
创建pojo
分析页面,查看页面需要的数据,如下
<tr><td>${item.name }</td><td>${item.price }</td><td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td><td>${item.detail }</td><td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td></tr>
创建商品pojo(可以用逆向工程导入)
public class Item {// 商品idprivate int id;// 商品名称private String name;// 商品价格private double price;// 商品创建时间private Date createtime;// 商品描述private String detail;创建带参数的构造器
set/get。。。
}
创建ItemController
ItemController是一个普通的java类,不需要实现任何接口。
需要在类上添加@Controller注解,把Controller交由Spring管理
在方法上面添加@RequestMapping注解,里面指定请求的url。其中“.action”可以加也可以不加。
@Controller
public class ItemController {// @RequestMapping:里面放的是请求的url,和用户请求的url进行匹配// action可以写也可以不写@RequestMapping("/itemList.action")public ModelAndView queryItemList() {// 创建页面需要显示的商品数据List<Item> list = new ArrayList<>();list.add(new Item(1, "1华为 荣耀8", 2399, new Date(), "质量好!1"));list.add(new Item(2, "2华为 荣耀8", 2399, new Date(), "质量好!2"));list.add(new Item(3, "3华为 荣耀8", 2399, new Date(), "质量好!3"));list.add(new Item(4, "4华为 荣耀8", 2399, new Date(), "质量好!4"));list.add(new Item(5, "5华为 荣耀8", 2399, new Date(), "质量好!5"));list.add(new Item(6, "6华为 荣耀8", 2399, new Date(), "质量好!6"));// 创建ModelAndView,用来存放数据和视图ModelAndView modelAndView = new ModelAndView();// 设置数据到模型中modelAndView.addObject("list", list);// 设置视图jsp,需要设置视图的物理地址modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");return modelAndView;}
}
启动项目测试
启动项目,浏览器访问地址
http://127.0.0.1:8080/springmvc-first/itemList.action
效果如下图:
什么是Springmvc以及如果编写第一个入门程序相关推荐
- 【Spring框架】编写第一个入门程序
一. 概述: 1). Spring: Spring框架是由Rod Johnson组织和开发的一个分层的Java SE/EE full-stack(一站式)轻量级开源框架,它以IoC(Inversion ...
- 【Java基础】Java开发环境搭建并编写第一个入门程序HelloWorld
大家好,我是程序员青戈,一个被Bug耽误了才艺的程序员
- 《Java 开发从入门到精通》—— 2.2 编写第一段Java程序
本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.2节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 编 ...
- Xamarin iOS编写第一个应用程序创建工程
Xamarin iOS编写第一个应用程序创建工程 在Xcode以及Xamarin安装好后,就可以在Xamarin Studio中编写程序了.本节将主要讲解在Xamarin Studio中如何进行工程的 ...
- Remoting系列(二)----建立第一个入门程序
http://www.cnblogs.com/Ring1981/archive/2006/07/23/455043.aspx Remoting系列(二)----建立第一个入门程序 下面的Remotin ...
- 在Android Studio上编写第一个安卓程序
文章目录 一.Android开发环境搭建 1.安卓简介: 2.安卓发展历程: 二.Android Studio开发环境 三.第一个安卓程序 出现的问题 1.找不到SDK 2.找不到安卓虚拟机 一.An ...
- 在SAP云平台ABAP编程环境上编写第一段ABAP程序
距2017年秋季的SAP TechEd大会上一位大佬Björn Goerke,SAP's Chief Technology Officer宣布了SAP Cloud Platform即将支持ABAP至今 ...
- python第一条入门程序_Python语言函数代码的执行流程
https://www.xin3721.com/eschool/pythonxin3721/ Python语言函数代码的执行流程,为了保证函数的定义先于其首次调用时执行,我们需要知道中语句的执行顺序. ...
- Spring Boot的第一个入门程序 HelloWorld
一个功能:浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串: @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用 ...
最新文章
- 还在用Matplotlib? 又一可视化神器Altair登场 | 技术头条
- OSI模型中的数据链路层和物理层的区分
- PHP面试题:写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数(array_multisort())
- 6,synchronized, lock 区别
- myeclipse 运行速度慢的解决方案
- mysql denide_MYSQL 出现Error1045 access denied 的解决方法
- 谷歌移动应用强调设计元素:向极简风格转型
- 长尾关键词seo_为什么您不应该忘记长尾SEO
- iOS原生CIFilter创建二维码
- java 观察者模式_图解Java设计模式之观察者模式
- 交换机分布缓存_交换机网络嗅探方法 如何欺骗交换机缓存
- duplicate database的时候,rman连接 auxiliary database的后状态不正确
- 工作那些事儿(8)- 废旧立新
- android window设置动画,android - 具有动画的Windowmanager
- 雷军这么努力,为什么还是干不过 OV?
- 2015 多校联赛 ——HDU5344(水)
- SAS 146GB*8 RAID5数据恢复过程(HP 双循环)
- paip.跟踪DISCUZ积分日志功能总结
- psnr--峰值信噪比
- ZigBee 集中式网络与分布式网络
热门文章
- 大学生计算机二级大集报名最好,在校大学生如何报名计算机二级?
- 【干货】快速部署微软开源GPU管理利器: OpenPAI
- Android插u盘自动执行,android tv box ---- 插入u盘直接播放指定文件夹中的视频
- numpy 拼接_数据分析-numpy的拼接与交换
- java exec 关闭_如何正确关闭java ExecutorService
- 2007年上半年软件测试_洪恩教育成功登陆纽交所,上市首日大涨超33%!成2020年首家美股上市的中国教育公司...
- matlab length_MATLAB入门
- python3 class init_python3 module中__init__.py的需要注意的地方
- 计算机基础知识第八周,计算机系统基础(一):程序的表示、转换与链接(第八周小测验)...
- mysql降序后去重_Mysql 数据记录去重后按字段排序