springmvc环境搭建

逃离我推掉我的手 2022-06-15 11:21 333阅读 0赞

springmvc环境搭建

数据库:

建立好业务数据存储数据库。

Java环境:

jdk1.7、MyEclipse14、数据库MySQL 5.6、spring版本:4.2.1

功能需求

商品列表查询

第一步:

" class="reference-link">创建动态web工程,导入spring的所有jar,注意一定要包含spring-webmvc-4.2.1.RELEASE.jar 日志:commons-logging-1.1.1.jar jsp标签库:jstl.jar 连接数据库:数据库连接驱动 创建一个资源文件夹,并在资源文件夹中创建springmvc.xml文件 这里写图片描述

第二步:

配置前端控制器

在web.xml中配置前端控制器
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  3. <!-- springmvc前端控制器 -->
  4. <servlet>
  5. <servlet-name>springmvc</servlet-name>
  6. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  7. <!-- 配置springmvc加载的配置文件(配置处理器映射器、适配器等) -->
  8. <init-param>
  9. <param-name>contextConfigLocation</param-name>
  10. <param-value>classpath:springmvc.xml</param-value>
  11. </init-param>
  12. </servlet>
  13. <servlet-mapping>
  14. <servlet-name>springmvc</servlet-name>
  15. <url-pattern>*.action</url-pattern>
  16. </servlet-mapping>
  17. </web-app>

配置处理器映射器

在classpath:springmvc.xml中配置处理器映射器
  1. BeanNameUrl:将beanname作为url查找,需要在配置Handler是指定name(url)
  2. -->
  3. <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

配置处理适配器

  1. <!-- 处理器适配器 -->
  2. <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

配置视图解析器

  1. <!-- 视图解析器 配置解析jsp的视图解析器,默认使用jstl标签 -->
  2. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />

编写处理器Handler

  1. package com.ld.springmvc.controller;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import org.springframework.web.servlet.ModelAndView;
  7. import org.springframework.web.servlet.mvc.Controller;
  8. import com.ld.springmvc.po.Items;
  9. public class ItemsController implements Controller{
  10. @Override
  11. public ModelAndView handleRequest(HttpServletRequest request,
  12. HttpServletResponse response) throws Exception {
  13. //使用静态数据模拟
  14. List<Items> itemsList = new ArrayList<Items>();
  15. Items item = new Items();
  16. item.setName("旺仔");
  17. item.setPrice(10f);
  18. Items item1 = new Items();
  19. item1.setName("旺1仔");
  20. item1.setPrice(11f);
  21. Items item2 = new Items();
  22. item2.setName("旺仔");
  23. item2.setPrice(10f);
  24. Items item3 = new Items();
  25. item3.setName("旺2仔");
  26. item3.setPrice(10f);
  27. itemsList.add(item);
  28. itemsList.add(item1);
  29. itemsList.add(item2);
  30. itemsList.add(item3);
  31. //返回ModelAndView
  32. ModelAndView modelAndView = new ModelAndView();
  33. //类似于request的setAttribute
  34. modelAndView.addObject("itemsList", itemsList);
  35. //指定视图
  36. modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
  37. return modelAndView;
  38. }
  39. }

配置处理器Handler

  1. <!-- 配置Handler -->
  2. <bean name="queryItem.action" class="com.ld.springmvc.controller.ItemsController" />
Handler需要实现Controller接口
  1. package com.ld.springmvc.controller;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import org.springframework.web.servlet.ModelAndView;
  7. import org.springframework.web.servlet.mvc.Controller;
  8. import com.ld.springmvc.po.Items;
  9. public class ItemsController implements Controller{
  10. @Override
  11. public ModelAndView handleRequest(HttpServletRequest request,
  12. HttpServletResponse response) throws Exception {
  13. //使用静态数据模拟
  14. List<Items> itemsList = new ArrayList<Items>();
  15. Items item = new Items();
  16. item.setName("旺仔");
  17. item.setPrice(10f);
  18. Items item1 = new Items();
  19. item1.setName("旺1仔");
  20. item1.setPrice(11f);
  21. Items item2 = new Items();
  22. item2.setName("旺仔");
  23. item2.setPrice(10f);
  24. Items item3 = new Items();
  25. item3.setName("旺2仔");
  26. item3.setPrice(10f);
  27. itemsList.add(item);
  28. itemsList.add(item1);
  29. itemsList.add(item2);
  30. itemsList.add(item3);
  31. //返回ModelAndView
  32. ModelAndView modelAndView = new ModelAndView();
  33. //类似于request的setAttribute
  34. modelAndView.addObject("itemsList", itemsList);
  35. //指定视图
  36. modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
  37. return modelAndView;
  38. }
  39. }

编写视图(itemsList.jsp)

  1. <%@ page language="java" import="java.util.*" contentType="text-html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  4. <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
  5. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  6. <html>
  7. <head>
  8. <base href="<%=basePath%>">
  9. <title>查询商品列表</title>
  10. <meta http-equiv="pragma" content="no-cache">
  11. <meta http-equiv="cache-control" content="no-cache">
  12. <meta http-equiv="expires" content="0">
  13. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  14. <meta http-equiv="description" content="This is my page">
  15. <!-- <link rel="stylesheet" type="text/css" href="styles.css"> -->
  16. </head>
  17. <body>
  18. <form action="${pageContext.request.contextPath }/item/queryItem.action" method="post">
  19. 查询条件
  20. <table width="100%" border="1">
  21. <tr>
  22. <td><input type="submit" value="查询" /></td>
  23. </tr>
  24. </table>
  25. 商品列表:
  26. <table width="100%" border="1">
  27. <tr>
  28. <td>商品名称</td>
  29. <td>商品价格</td>
  30. <td>生产日期</td>
  31. <td>商品描述</td>
  32. <td>操作</td>
  33. </tr>
  34. <c:forEach items="${itemsList }" var="item">
  35. <tr>
  36. <td>${item.name }</td>
  37. <td>${item.price }</td>
  38. <td><fmt:formatDate value="${item.createtime }" pattern="yyyy-MM-dd HH:mm:ss" /></td>
  39. <td>${item.detail }</td>
  40. <td><a href="${pageContext.request.contentType }/item/editItem.action?id=${item.id}">修改</a></td>
  41. </tr>
  42. </c:forEach>
  43. </table>
  44. </form>
  45. </body>
  46. </html>

测试路径:http://127.0.0.1/springmvc_first/queryItem.action

测试了一下,乱码了,把jsp页面编码改一下就OK了

  1. <% response.setContentType("text/html;charset = GB2312"); request.setCharacterEncoding("gb2312"); %>

发表评论

表情:
评论列表 (有 0 条评论,333人围观)

还没有评论,来说两句吧...

相关阅读

    相关 springMVC环境

    前言:作为一位码农,总的给这世界留下点东西吧,左思右想,只能留下点代码了,因为除了代码几乎也没有什么东西可以留下,于是编写了第一篇博客。下面进入正题springmvc环境搭建。