这里做一个Demo:展示商品列表

新建Dynamic Web Project:

导入jar包,放在lib下:

放入Lib文件夹之后,会自动build path

接下来配置web.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5. id="WebApp_ID" version="2.5">
  6. <display-name>springMVC</display-name>
  7. <welcome-file-list>
  8. <welcome-file>index.html</welcome-file>
  9. <welcome-file>index.htm</welcome-file>
  10. <welcome-file>index.jsp</welcome-file>
  11. <welcome-file>default.html</welcome-file>
  12. <welcome-file>default.htm</welcome-file>
  13. <welcome-file>default.jsp</welcome-file>
  14. </welcome-file-list>
  15.  
  16. <!-- 前端控制器 -->
  17. <servlet>
  18. <servlet-name>springmvc</servlet-name>
  19. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  20. <init-param>
  21. <param-name>contextConfigLocation</param-name>
  22. <param-value>classpath:springmvc.xml</param-value>
  23. </init-param>
  24. </servlet>
  25.  
  26. <servlet-mapping>
  27. <servlet-name>springmvc</servlet-name>
  28. <url-pattern>*.action</url-pattern>
  29. </servlet-mapping>
  30. </web-app>

简单写一个商品列表的jsp页面:itemList.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  9. <title>查询商品列表</title>
  10. </head>
  11. <body>
  12. <form action="${pageContext.request.contextPath }/item/queryitem.action" method="post">
  13. 查询条件:
  14. <table width="100%" border=1>
  15. <tr>
  16. <td><input type="submit" value="查询"/></td>
  17. </tr>
  18. </table>
  19. 商品列表:
  20. <table width="100%" border=1>
  21. <tr>
  22. <td>商品名称</td>
  23. <td>商品价格</td>
  24. <td>生产日期</td>
  25. <td>商品描述</td>
  26. <td>操作</td>
  27. </tr>
  28. <c:forEach items="${itemList }" var="item">
  29. <tr>
  30. <td>${item.name }</td>
  31. <td>${item.price }</td>
  32. <td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
  33. <td>${item.detail }</td>
  34.  
  35. <td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td>
  36.  
  37. </tr>
  38. </c:forEach>
  39.  
  40. </table>
  41. </form>
  42. </body>
  43.  
  44. </html>

商品Items的POJO类:

  1. package org.dreamtech.springmvc.pojo;
  2.  
  3. import java.util.Date;
  4.  
  5. public class Items {
  6.  
  7. public Items(Integer id, String name, Float price, Date createtime, String detail) {
  8. super();
  9. this.id = id;
  10. this.name = name;
  11. this.price = price;
  12. this.createtime = createtime;
  13. this.detail = detail;
  14. }
  15.  
  16. private Integer id;
  17.  
  18. private String name;
  19.  
  20. private Float price;
  21.  
  22. private String pic;
  23.  
  24. private Date createtime;
  25.  
  26. private String detail;
  27.  
  28. public Integer getId() {
  29. return id;
  30. }
  31.  
  32. public void setId(Integer id) {
  33. this.id = id;
  34. }
  35.  
  36. public String getName() {
  37. return name;
  38. }
  39.  
  40. public void setName(String name) {
  41. this.name = name == null ? null : name.trim();
  42. }
  43.  
  44. public Float getPrice() {
  45. return price;
  46. }
  47.  
  48. public void setPrice(Float price) {
  49. this.price = price;
  50. }
  51.  
  52. public String getPic() {
  53. return pic;
  54. }
  55.  
  56. public void setPic(String pic) {
  57. this.pic = pic == null ? null : pic.trim();
  58. }
  59.  
  60. public Date getCreatetime() {
  61. return createtime;
  62. }
  63.  
  64. public void setCreatetime(Date createtime) {
  65. this.createtime = createtime;
  66. }
  67.  
  68. public String getDetail() {
  69. return detail;
  70. }
  71.  
  72. public void setDetail(String detail) {
  73. this.detail = detail == null ? null : detail.trim();
  74. }
  75. }

springmvc配置文件:SpringMVC.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  7. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
  8. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
  9.  
  10. <!-- 扫描@Controler @Service -->
  11. <context:component-scan base-package="org.dreamtech" />
  12.  
  13. </beans>

ItemController:

  1. package org.dreamtech.springmvc.controller;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.List;
  6.  
  7. import org.dreamtech.springmvc.pojo.Items;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.servlet.ModelAndView;
  11.  
  12. @Controller
  13. public class ItemController {
  14.  
  15. @RequestMapping(value = "/item/itemlist.action")
  16. public ModelAndView itemList() {
  17.  
  18. // 创建页面需要显示的商品数据(模拟从数据库中取出)
  19. List<Items> list = new ArrayList<Items>();
  20. list.add(new Items(1, "1华为 荣耀", 2399f, new Date(), "质量好!1"));
  21. list.add(new Items(2, "2华为 荣耀", 2399f, new Date(), "质量好!2"));
  22. list.add(new Items(3, "3华为 荣耀", 2399f, new Date(), "质量好!3"));
  23. list.add(new Items(4, "4华为 荣耀", 2399f, new Date(), "质量好!4"));
  24. list.add(new Items(5, "5华为 荣耀", 2399f, new Date(), "质量好!5"));
  25. list.add(new Items(6, "6华为 荣耀", 2399f, new Date(), "质量好!6"));
  26.  
  27. ModelAndView mav = new ModelAndView();
  28. mav.addObject("itemList", list);
  29. mav.setViewName("/WEB-INF/jsp/itemList.jsp");
  30. return mav;
  31. }
  32. }

这里返回的是ModelAndView:这种是最全的返回类型

另外可以返回:String,直接返回视图名即可,如果要传参,带个Model,model.addAttribute()即可

这种方式推荐使用:

重定向:返回"redirect:/xx/xxx":用于修改完信息后

转发:返回"forward:/xx/xxx"

最后一种返回voic:适用于无返回视图的情况:JSON,如果强行返回或者传参,需要servlet原生方法

启动Tomcat:

访问:http://localhost:8080/springMVC/item/itemlist.action

看到页面和数据:

到这里,第一个小案例就完成了

后边会仔细介绍SpringMVC

SpringMVC框架一:搭建测试的更多相关文章

  1. SpringMVC 框架的搭建及基本功能的实现

    首先新建一个WEB项目 导入jar包 我们基于Spring mvc框架进行开发,需要依赖一下的spring jar包: spring-aop-4.0.4.RELEASE.jar spring-bean ...

  2. Spring学习之SpringMVC框架快速搭建实现用户登录功能

    引用自:http://blog.csdn.net/qqhjqs/article/details/41683099?utm_source=tuicool&utm_medium=referral  ...

  3. springmvc框架的搭建

    1引入jar包 jar包下载地址http://maven.springframework.org/release/org/ 以下是我引入的jar包 aopalliance-1.0.jaraspectj ...

  4. springmvc框架简单搭建

    一.利用xml 配置 1.web.xml   <web-app version="2.4"     xmlns="http://java.sun.com/xml/n ...

  5. Idea搭建SpringMVC框架(初次接触)

    公司转Java开发,做的第一个项目是SpringMVC框架,因为底层是同事封装,等完成整个项目,对SpringMVC框架的搭建还不是很了解,所以抽时间不忙的时候自己搭建了一个SpringMVC框架. ...

  6. 基于maven从头搭建springMVC框架

    0.准备工作 首先将eclipse和需要的插件准备好,例如maven插件,spring IDE插件. 1.建立maven下的webapp项目 1.新建一个maven项目,类型为webapp,如下图 2 ...

  7. springMVC学习篇 - 搭建环境及关键点

    springMVC是spring家族中一个重要的组件,和struts一样作为一套前台框架被广泛的应用于各种项目. 之前在很多项目组都用到springMVC,只感觉很强大,但是对这套框架的知识了解比较少 ...

  8. 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建三:配置spring并测试

    这一部分的主要目的是 配置spring-service.xml  也就是配置spring  并测试service层 是否配置成功 用IntelliJ IDEA 开发Spring+SpringMVC+M ...

  9. 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建二:配置MyBatis 并测试(2 配置spring-dao和测试)

    用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建二:配置MyBatis 并测试(1 搭建目录环境和依赖) 四:在\resources\spring 下面 ...

  10. 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建二:配置MyBatis 并测试(1 构建目录环境和依赖)

    引言:在用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建一   的基础上 继续进行项目搭建 该部分的主要目的是测通MyBatis 及Spring-dao ...

随机推荐

  1. docker 删除所有退出的容器

    方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查询所有的容器,过滤出E ...

  2. Connection failed Flowsocketconnector Failed to connect to target addressWindows error10061:由于目标计算机积极拒绝,无法连接

    使用bitbise时报上面错误   : 解决方法 :卸载软件并删除相关的文件 (包含bitvise 及注册表中的文件)重新安装后能连接

  3. 用Java代码通过JDBC连接Hiveserver2

    1.在终端启动hiveserver2#hiveserver2 2.使用beeline连接hive另外打开一个终端,输入如下命令(xavierdb必须是已经存在的数据库)#beeline -u jdbc ...

  4. python 09 文件操作

    一 流程: #1. 打开文件,得到文件句柄并赋值给一个变量 #2. 通过句柄对文件进行操作 #3. 关闭文件 二 例子 #1. 打开文件,得到文件句柄并赋值给一个变量f=open('a.txt','r ...

  5. Spring Boot 启动(四) EnvironmentPostProcessor

    Spring Boot 启动(四) EnvironmentPostProcessor Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698. ...

  6. .NET framework访问Oracle的几种方法

    首先介绍下开发环境:WIn10 64bit+Visual Studio 2015+Oracle10ClientWin32(只是客户端,如果安装整个数据库也是可以的) 目前了解C#中连接Oracle数据 ...

  7. 每天五分钟,玩转Docker。-Day2

    Day2 镜像仓库(Docker registry) Docker registry是存储容器镜像的仓库,用户可以通过Docker client 与Docker register 进行通信,以此来完成 ...

  8. Data_Structure01-绪论

    ---恢复内容开始--- 一.作业题目 仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子.分母均为整数且分母不为零的分数).有理数基本运算: 构造有理数T,元素e1,e2分 ...

  9. 《MySQL必知必会》官方提供的数据库和表

    数据用于配合<MySQL必知必会>(MySQL Crash Course)这本书使用,配套SQL文件也可在Ben Forta网站下载. Ben Forta网址:http://forta.c ...

  10. vi/vim 三种模式的操作

    来源:http://www.runoob.com/linux/linux-vim.html ps:刚刚进入vi/vim 是命令模式 一.命令模式 i 切换到输入模式,以输入字符. x 删除当前光标所在 ...