数据库使用mysql,如下:

vo包的Sales类:

package com.vo;

public class Sales {
 public String salestime;
 public float salesnum;
 public String getSalestime() {
  return salestime;
 }
 public void setSalestime(String salestime) {
  this.salestime = salestime;
 }
 public float getSalesnum() {
  return salesnum;
 }
 public void setSalesnum(float salesnum) {
  this.salesnum = salesnum;
 }
 
}

dao包中的DBManager类:

package com.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DbManager {

private static String URL = "jdbc:mysql://localhost:3306/sales";
        private static String USER = "root";
        private static String PWD = "root";
        public static Connection getConn(){
            Connection conn = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                conn = DriverManager.getConnection(URL,USER,PWD);
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            return conn;
        }

public static void closeAll(Connection conn,Statement ste,ResultSet rs){
            if(rs != null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(ste !=null){
                try {
                    ste.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn !=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }

}

dao包中的SalesDao类:

package com.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.vo.Sales;

public class SalesDao {
 public List<Sales> find(String month) {
  Connection con = null;
  Statement state = null;
  ResultSet resultSet = null;
  List<Sales> list = null;
  String sql = "select * from sales where salestime like '" + month + "-%'" ;
  con = DbManager.getConn();
  try {
   state = con.createStatement();
   resultSet = state.executeQuery(sql);
   while(resultSet.next()){
    if(null == list){
     list = new ArrayList<Sales>();
    }
    Sales sales = new Sales();
    sales.setSalestime(resultSet.getString("salestime"));
    sales.setSalesnum(resultSet.getFloat("salesnum"));
    list.add(sales);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   DbManager.closeAll(con, state, resultSet);
  }
  return list;
 }
}

index.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>
 
  <body>
    <form action="show.jsp" method="post">
     请选择查询的月份:
     <select name="month">
      <option value="1">1月</option>
      <option value="2">2月</option>
      <option value="3">3月</option>
      <option value="4">4月</option>
      <option value="5">5月</option>
      <option value="6">6月</option>
      <option value="7">7月</option>
      <option value="8">8月</option>
      <option value="9">9月</option>
      <option value="10">10月</option>
      <option value="11">11月</option>
      <option value="12">12月</option>
     </select>
     <input type="submit" value="查询"/>
    </form>
  </body>
</html>

show.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page language="java" import="com.dao.*" %>
<%@ page language="java" import="com.vo.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'show.jsp' starting page</title>
   
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->

</head>
 
  <body>
    <table>
     <tr>
      <td>销售日期</td>
      <td>销售额</td>
     </tr>
     <%
      String month = request.getParameter("month");
      SalesDao dao = new SalesDao();
      List<Sales> list = dao.find(month);
      if(list != null){
       for(Sales sales : list){
     %>
     <tr>
      <td><%=sales.getSalestime() %></td>
      <td><%=sales.getSalesnum() %></td>
     </tr>
     <%    
       }
      }else{
     %>
     <tr>
      <td colspan="2">暂时没有数据</td>
     </tr>
     <%  
      }
      %>
    </table>
  </body>
</html>

结果展示:

如图,选择1月,点击查询按钮,出现如下情况:

用JSP+JavaBean开发模式实现一个销售额的查询的更多相关文章

  1. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  2. 咸鱼入门到放弃11--Servlet+JSP+JavaBean开发模式

    本篇搬运了大佬blog:https://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servle ...

  3. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  4. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  5. jsp javabean开发模式

    JSP&&JavaBean开发模式 在jsp+javabean架构中,jsp负责控制逻辑,表现逻辑,业务对象的调用 jsp+javaBean模式适合开发业务逻辑不复杂的web应用,这种 ...

  6. javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. Servlet+JSP+JavaBean开发模式(MVC)介绍

    好伤心...写登陆注册之前看见一篇很好的博文,没有收藏,然后找不到了. 前几天在知乎上看见一个问题,什么时候感觉最无力. 前两天一直想回答:尝试过google到的所有solve case,结果bug依 ...

  8. javaweb开发3.基于Servlet+JSP+JavaBean开发模式的用户登录注册

    转载孤傲苍狼博客http://www.cnblogs.com/xdp-gacl/p/3902537.html 1.层次比较分明的项目结构图

  9. JavaWeb -- Servlet+JSP+JavaBean(MVC)模式

    Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP ...

随机推荐

  1. getch()和getchar()之再讨论

    原文:getch()和getchar()之再讨论 在C语言的字符处理函数中,getch()和getchar()是经常让人迷惑的两个函数,他们都有一些“奇怪的”特点让初学者摸不着头脑.两个函数有很多相似 ...

  2. post与get,这两人到底神马区别??

    甲曰:“1. GET使用URL或Cookie传参.而POST将数据放在BODY中. 2. GET的URL会有长度上的限制,则POST的数据则可以非常大. 3. POST比GET安全,因为数据在地址栏上 ...

  3. Java堆栈(转)

     Java栈与堆 ----对这两个概念的不明好久,最终找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自己主动管理栈和堆, ...

  4. Codeforces Round #FF 446A DZY Loves Sequences

    预处理出每一个数字能够向后延伸多少,然后尝试将两段拼起来. C. DZY Loves Sequences time limit per test 1 second memory limit per t ...

  5. PHP 8: PHP的运算符

    原文:PHP 8: PHP的运算符 本章将介绍PHP的运算符.运算符这个问题在每种语言里都有,因为我们已经熟悉了编程语言里的一种或是多种,所以只需要了解一下就行了.概括一下吧.PHP运算符有很多种,看 ...

  6. Windows下Oracle不显示中文[已解决]

    跟着视频学习,然后讲到插入的时候有中文性别,就GG了,该显示中文的时候都是问号,觉得应该是编码的问题. 于是上网找了下,测试可行,方法如下 1,查询Oracle编码的语句: [sql] SELECT ...

  7. 鼠标hover事件

    JS: // ========== // = 鼠标hover事件 = // ========== function showHide (btn,box) { $(btn).hover(function ...

  8. C#实现文档转换成PDF

    网上有很多将doc.ppt.xls等类型的文档转换成pdf的方法,目前了解到的有两大类: 1.使用虚拟打印机将doc.ppt.xls等类型的文档 2.使用OFFICE COM组件 我采用了第二种方法实 ...

  9. grasp设计模式笔记回顾

    根据讲师所讲做了一下笔记以便自己能方便学习: ------------------------------------------grasp设计模式: grasp(general responsibi ...

  10. memcached与.NET的融合使用2

    memcached与.NET的融合使用(二) memcached部署完成之后,对当前缓存中数据的监控就显得比较迫切,这里看到网上开源的memadmin比较小巧好用,决定用它来查看监控memcached ...