第一个SpringMVC入门程序
一、写在前面
1.SpringMVC处理流程
二、创建工程
1.在Eclipse下新建Dynanic Web Project
2.输入工程名springmvctest,选择module version为2.5(自动生成web.xml)
3.建成之后的目录
4.导入jar包
下载springmvc独立运行所需jar包
https://download.csdn.net/download/badao_liumang_qizhi/10657989
失效请留言
5.将jar包复制到项目的lib目录下
6.加入配置文件
右击项目----New---Source Folder---config(新建config文件夹)
7.创建springmvc.xml
在config上右键---New---Others---XML File
取名springmvc.xml
这里只配置一个Controller扫描就可以了,让Spring对页面控制层Controller进行管理。
<?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="com.controller" /></beans>
8.创建包com.controller
9.打开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>springmvctest</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>springmvctest</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>springmvctest</servlet-name><!-- 设置所有以action结尾的请求进入SpringMVC --><url-pattern>*.action</url-pattern></servlet-mapping></web-app>
10.加入jsp页面
在WEB-INF目录下新建jsp目录,新建itemList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>查询商品列表</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/item/queryitem.action" method="post">
查询条件:
<table width="100%" border=1>
<tr>
<td><input type="submit" value="查询"/></td>
</tr>
</table>
商品列表:
<table width="100%" border=1>
<tr><td>商品名称</td><td>商品价格</td><td>生产日期</td><td>商品描述</td><td>操作</td>
</tr>
<c:forEach items="${itemList }" var="item">
<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>
</c:forEach></table>
</form>
</body></html>
三、数据库搭建
1.执行以下sql语句新建两个表
DROP TABLE IF EXISTS `items`;
CREATE TABLE `items` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(32) NOT NULL COMMENT '商品名称',`price` float(10,1) NOT NULL COMMENT '商品定价',`detail` text COMMENT '商品描述',`pic` varchar(64) DEFAULT NULL COMMENT '商品图片',`createtime` datetime NOT NULL COMMENT '生产日期',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT charset=utf8;-- ----------------------------
-- Records of items
-- ----------------------------
INSERT INTO `items` VALUES ('1', '台式机', '3000.0', '该电脑质量非常好!!!!', null, '2016-02-03 13:22:53');
INSERT INTO `items` VALUES ('2', '笔记本', '6000.0', '笔记本性能好,质量好!!!!!', null, '2015-02-09 13:22:57');
INSERT INTO `items` VALUES ('3', '背包', '200.0', '名牌背包,容量大质量好!!!!', null, '2015-02-06 13:23:02');-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(32) NOT NULL COMMENT '用户名称',`birthday` date DEFAULT NULL COMMENT '生日',`sex` char(1) DEFAULT NULL COMMENT '性别',`address` varchar(256) DEFAULT NULL COMMENT '地址',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT charset=utf8;-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '王五', null, '2', null);
INSERT INTO `user` VALUES ('10', '张三', '2014-07-10', '1', '北京市');
INSERT INTO `user` VALUES ('16', '张小明', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('22', '陈小明', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('24', '张三丰', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('25', '陈小明', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('26', '王五', null, null, null);
2.采用逆向工程(Mybatis 代码生成器)生成model、dao、mapper
参照:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/82563696
将生成的文件复制到当前项目
复制后项目目录
3.创建ItemController
ItemController是一个普通的java类,不需要实现任何接口。
需要在类上添加@Controller注解,把Controller交由Spring管理
在方法上面添加@RequestMapping注解,里面指定请求的url。其中“.action”可以加也可以不加。
package com.controller;import java.util.ArrayList;
import java.util.Date;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.Model.Items;
import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;@Controller
public class ItemController {// @RequestMapping:里面放的是请求的url,和用户请求的url进行匹配// action可以写也可以不写@RequestMapping("/itemList.action")public ModelAndView queryItemList() {// 创建页面需要显示的商品数据ArrayList<Items> list = new ArrayList<Items>();list.add(new Items(1, "商品1", 2399f, new Date(), "质量好!1"));list.add(new Items(2, "商品2", 2399f, new Date(), "质量好!2"));list.add(new Items(3, "商品3", 2399f, new Date(), "质量好!3"));list.add(new Items(4, "商品4", 2399f, new Date(), "质量好!4"));list.add(new Items(5, "商品5", 2399f, new Date(), "质量好!5"));list.add(new Items(6, "商品6", 2399f, new Date(), "质量好!6"));// 创建ModelAndView,用来存放数据和视图ModelAndView modelAndView = new ModelAndView();// 设置数据到模型中modelAndView.addObject("itemList", list);// 设置视图jsp,需要设置视图的物理地址modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");return modelAndView;}
}
五、启动项目测试
启动项目
浏览器输入:http://localhost:8080/springmvctest/itemList.action
效果如下
第一个SpringMVC入门程序相关推荐
- JavaWeb——springMVC入门程序
一.引言 从.NET阵地专向Java阵营,没学SSH,直接面向SpringMVC. 首先了解下基本概念: 核心架构的具体流程步骤如下: 1. 首先用户发送请求-->DispatcherServ ...
- ijidea搭建springMVC入门程序,配置TomCat
ijidea搭建springMVC入门程序,适用于超级新手.保姆教程 1. 2. 3. 4.输入可以更快创建项目,不需要去下载 archetypeCatalog internal 5.此时的目录结构: ...
- 【SpringMVC框架】springmvc入门程序-环境搭建
入门程序 1.需求 以案例作为驱动. springmvc和mybaits使用一个案例(商品订单管理). 回顾一下表单各项关联关系 见图数据模型 功能需求:商品列表查询 2.环境准备 数据库环境:mys ...
- 手把手做一个JSP入门程序(一):程序基本介绍(JSP)
胡扯 说好的不学jsp,结果今天还是学了.主要还是为了后面的java后台的学习啦.为了更好的掌握知识,那我们就来写一个简单的jsp入门程序吧!这只是一个简单的入门小程序,所以就没有太多强大的功能. ...
- 一个DirectDraw入门程序
只要是介绍编程的书,似乎有一个不成文的规定,即第一个例子由"Hello World"开始,本教程也不例外.那么,如果你早已迫不及待想初尝DirectDraw程序编译成功后的&quo ...
- MFC系列 - 第一个MFC入门程序
MFC,多年开发和教学,这门课程,新课改决定将它砍掉,Qt也是我们的趋势,同时在我的Qt系列中详细讲解了Qt的系列教学.MFC虽然很古老,但是还是得佩服微软搞得这套框架,让一代又一代Windows程序 ...
- SpringMVC框架----SpringMVC入门程序中的组件介绍
springmvc框架:底层基于组件方式执行流程. 前端控制器和处理器映射器都称为组件 客户端先发送request请求,请求先到前端控制器,前端控制器是一个指挥中心.它找到了处理器映射器.(之前案例中 ...
- 【SSM】第一个SpringMVC入门示例
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...
- 手把手做一个JSP入门程序(二):创建一个项目(JSP)
创建一个项目 我们使用Eclipse和Web服务器的Tomcat进行开发.Eclipse我们需要用"Eclipse IDE for Java EE Developers"(Ecli ...
最新文章
- 一篇文章搞定Python全部基础知识
- linux mq查看端口_通过rabbitmq的web监控mcollective的状态
- python入门是哪个包_python入门(十):模块、包
- CSS图形每日一练(下)
- 7 Java NIO Selector-翻译
- 比特币可视化工具_比特币再破1.2万大关 你还要做打工人吗?
- Rust-Cargo(3)
- 2017/Province_C_C++_A/2/跳蚱蜢
- IDEA汉化后设置无法打开
- python编辑数学公式_最好用的文字与公式编辑器,这套数学笔记神器送给你
- 微信公众号模板消息配置和发送
- 常用量化回测数据/收益指标的一些说明
- Ollydbg使用方法和技巧
- linux下kegg注释软件,科学网—生物信息——kegg分析的kobas软件的安装与使用 - 孙朋川的博文...
- jquery实现二级导航下拉菜单效果实例
- warning: waiting for transaction lock on /var/lib/rpm/.rpm.lock
- Google首席决策师告诉你AI和数据科学团队需要哪10种角色?
- 戴尔服务器两张Titan V配置深度学习环境
- VR虚拟现实技术行业应用范围
- Thinkpad t440 Win7+ubuntu双系统
热门文章
- 2020最新Java面试题(java,JavaWeb,数据库,框架),常见面试题及答案汇总
- php在线客服系统源码_在线客服系统物流行业解决方案
- 数字货币交易所源码_(数字货币交易所科普)开发数字货币交易所应该注意哪些问题...
- html5 css3 设计模式,html5+css3设计模式
- phpcms调用栏目描述_phpcms v9栏目列表调用每一篇文章内容方法
- sql order by 降序_数仓面试|四个在工作后才知道的SQL密技
- iframe 禁止打开新窗口_教育部新政策:禁止中学生复读?
- 机器人 沈为民_会变形的机器人
- 自学计算机二级office用什么书,暑假里想要自学计算机二级office有哪些什么好的建议...
- vim+python3的字符串却不能使用中文