一、写在前面
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进行管理。
8.创建包com.controller
9.打开web.xml,配置前端控制器
springmvctest
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
springmvctest
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
springmvctest
*.action
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"%>
查询商品列表
三、数据库搭建
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 list = new ArrayList();
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
效果如下