JavaWeb实现简单查询商品功能

本文实例为大家分享了JavaWeb实现简单查询商品功能的具体代码,供大家参考,具体内容如下

CustomerServlet.java

package com.subing.web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/CustomerServlet")
public class CustomerServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  private SqlDemo sql = null;
  private final static String s1 = "<h1>欢迎进入管理页面</h1><form action='CustomerServlet' method='post'> "
      + "精确查询:<input type='text' name='jqmess'/><br>"
      + "模糊查询:<input type='text' name='mhmess'/><br>"
      + "<input type='submit' value='提交' name='sub'/>"
      + "</form>";

  // 登录的时候进行验证
  private boolean isLoginProv(String userinfo, String password) {
    if (userinfo != null && userinfo.length() > 0 && password != null
        && password.length() > 0) {
      return true;
    }
    return false;

  }

  public CustomerServlet() throws Exception {
    super();
    sql = new SqlDemo(); // 进行数据库访问的类
    // TODO Auto-generated constructor stub
  }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
   *   response)
   */
  protected void doGet(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    this.doPost(request, response);
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
   *   response)
   */
  protected void doPost(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=gb2312");
    request.setCharacterEncoding("gb2312");
    PrintWriter pw = response.getWriter();

    String sub = request.getParameter("sub");
    String login = request.getParameter("login");

    if (login != null && login.length() > 0) {
      String admin_id = request.getParameter("admin_id");
      String password = request.getParameter("password");
      if (isLoginProv(admin_id, password)) {
        try {
          if (sql.loginVerify(admin_id, password)) {
            pw.println(s1);
          } else {
            pw.println("<h1>登录失败!</h2>2秒自动跳转到登录页面!");
            response.setHeader("refresh", "2;url=login.html");
          }
        } catch (Exception e) {
          e.printStackTrace();
        }
      } else {
        pw.println("<h1>登录失败!</h2>5秒自动跳转到登录页面!");
        response.setHeader("refresh", "5;url=login.html");
      }
    } else if (sub != null && sub.length() > 0) {
      pw.println(s1);
      String jqmess = request.getParameter("jqmess");
      String mhmess = request.getParameter("mhmess");
      if (jqmess != null && jqmess.length() > 0) {
        try {
          String s = sql.getJqMess(jqmess);
          String mess[] = s.split(",");
          String html = "<table border='5'>" + "<tr>" + "<th>Id号码</th>"
              + "<th>商品名称</th>" + "<th>商品价格</th>"
              + "<th>商品库存数量</th>" + "<th>商品描述</th>";
          String main = "<tr>" + "<td>" + mess[0] + "</td>" + "<td>"
              + mess[1] + "</td>" + "<td>" + mess[2] + "</td>"
              + "<td>" + mess[3] + "</td>" + "<td>" + mess[4]
              + "</td></tr></table>";
          String head = html + main;
          pw.println(head);
        } catch (Exception e) {
          e.printStackTrace();
        }
      } else if (mhmess != null && mhmess.length() > 0) {
        try {
          String head = "";
          String html = "<table border='5'>" + "<tr>" + "<th>Id号码</th>"
              + "<th>商品名称</th>" + "<th>商品价格</th>"
              + "<th>商品库存数量</th>" + "<th>商品描述</th>";
          head += html;
          String s = sql.getMhMess(mhmess);
          String m[] = s.split(",,");
          for (int i = 0; i < m.length; i++) {
            String mess[] = m[i].split(",");
            String main = "<tr>" + "<td>" + mess[0] + "</td>"
                + "<td>" + mess[1] + "</td>" + "<td>" + mess[2]
                + "</td>" + "<td>" + mess[3] + "</td>" + "<td>"
                + mess[4] + "</td></tr>";
            head += main;
          }
          head += "</table>";
          pw.println(head);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
}

数据库访问类:
SqlDemo.java

package com.subing.web;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class SqlDemo {

  private Connection conn = null;
  private PreparedStatement preparedStatement = null;

  public SqlDemo() throws Exception {
    conn = getConnection();
  }

  private Connection getConnection() throws Exception {
    String driverClass = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql:///shop?useUnicode=true&characterEncoding=gb2312";
    String user = "root";
    String password = "12345";

    // 注册加载驱动
    Class.forName(driverClass);

    // 获取连接
    Connection conn = DriverManager.getConnection(url, user, password);
    System.out.println(conn);
    return conn;
  }

  // 登录的时候 进行验证
  public boolean loginVerify(String userinfo, String password)
      throws Exception {
    String sql = "select * from admin where admin_id = ?";
    preparedStatement = conn.prepareStatement(sql);
    preparedStatement.setString(1, userinfo);
    ResultSet rs = preparedStatement.executeQuery();
    if (rs.next()) {
      if (rs.getString("password").equals(password)) {
        System.out.println("成功!");
        return true;
      }
    }
    System.out.println("失败!");
    return false;
  }

  public String getJqMess(String admin_id) throws Exception {
    String s = "";
    String sql = "select * from product1 where product_id = ? OR product_name LIKE ?"
        + "OR product_price LIKE ?"
        + "OR product_num LIKE ?"
        + "OR product_describe LIKE ?";
    preparedStatement = conn.prepareStatement(sql);
    preparedStatement.setString(1, admin_id);
    preparedStatement.setString(2, admin_id);
    preparedStatement.setString(3, admin_id);
    preparedStatement.setString(4, admin_id);
    preparedStatement.setString(5, admin_id);
    //查询到记录的时候,返回一个resultSet,也处理了该方法查找失败的时候返回null的情况
    ResultSet rs = preparedStatement.executeQuery();
    while (rs.next()) {
      s = rs.getInt(1) + "," + rs.getString(2) + "," + rs.getInt(3) + ","
          + rs.getInt(4) + "," + rs.getString(5);
    }
    return s;

  }

  public String getMhMess(String admin_id) throws Exception {
    String mess = "";
    String sql = "select * from product1 where product_id like ? OR product_name LIKE ? OR product_price LIKE ? OR product_num LIKE ?"
        + "OR product_describe LIKE ?";
    preparedStatement = conn.prepareStatement(sql);
    preparedStatement.setString(1, "%" + admin_id + "%");
    preparedStatement.setString(2, "%" + admin_id + "%");
    preparedStatement.setString(3, "%" + admin_id + "%");
    preparedStatement.setString(4, "%" + admin_id + "%");
    preparedStatement.setString(5, "%" + admin_id + "%");
    ResultSet rs = preparedStatement.executeQuery();
    while (rs.next()) {
      String s = rs.getInt(1) + "," + rs.getString(2) + ","
          + rs.getInt(3) + "," + rs.getInt(4) + "," + rs.getString(5);
      mess += s + ",,";
    }
    return mess;
  }

  public static void main(String[] args) throws Exception {
    SqlDemo sqlDemo = new SqlDemo();
    String s = sqlDemo.getMhMess("xi");
    String m[] = s.split(",,");
    for (int i = 0; i < m.length; i++) {
      System.out.println(m[i]);
    }
  }

}

html文件:
login.html

<!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>Insert title here</title>
</head>
<body>
  <h1>登录</h1>
  <form action="CustomerServlet" method="post">
    账号:<input type="text" name="admin_id"/>
    密码:<input type="password" name="password"/>
    <input type="submit" value="登录" name="login"/>
  </form>        

</body>
</html>

数据库里面的表数据

运行效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java实现商品信息管理系统

    超市商品管理系统,供大家参考,具体内容如下 题目要求 超市中商品分为四类,分别是食品.化妆品.日用品和饮料.每种商品都包含商品名称.价格.库存量和生产厂家.品牌等信息.主要完成对商品的销售.统计和简单管理.这个题目相对简单,可以用一张表实现信息的保存和处理,因此不再给出数据库设计参考. 功能要求 (1)销售功能. 购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息.如果有库存量,输入购买的数量,进行相应计算.如果库存量不够,给出提示信息,结束购买. (2)商品简单管理功能.

  • Java基于JDBC实现事务,银行转账及货物进出库功能示例

    本文实例讲述了Java基于JDBC实现事务,银行转账及货物进出库功能.分享给大家供大家参考,具体如下: 1. 转账业务 转账必须执行2个sql语句(update更新)都成功的情况下,提交事务,如果有一个失败,则2个都回滚事务 2. 事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACID特性. ① 原子性(atomicity).一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做. ② 一致性(consistency).事务必须是使数据库从一个一致性状

  • Java实现商品的查找、添加、出库、入库操作完整案例

    本文实例讲述了Java实现商品的查找.添加.出库.入库操作.分享给大家供大家参考,具体如下: package com.jredu.oopch08; public class Goods1 { private int id; private String name; private double price; private String uom; private int balance; public Goods1(int id, String name, double price, Strin

  • java实现超市商品库存管理平台

    本文实例为大家分享了java商品库存管理平台的具体代码,供大家参考,具体内容如下 1.完成超市商品初始化.创建商品,将商品添加到集合 2.显示来到超市能做的操作,也就是显示主菜单 3.根据接收到的功能选项,执行对应的功能 3.1.库存商品查询 3.2.添加新商品     3.3.删除商品 3.4.修改商品 3.5.退出系统,结束main方法的运行 4.循环,回到  2. 显示主菜单 以添加水果为例:对商品信息进行封装,编写FruitItem.java文件 public class FruitIt

  • java+mysql实现商品抢购功能

    我们希望有人购买时检查商品数量是否足够,如果库存有剩余那么就让用户购买成功,之后变更库存,假如用户排队挨个购买这样当然没有问题. 可是实际情况下,可能是用户多个用户同时来购买,同时检查库存,这是可能库存仅够其中一人购买,但是由于库存还没减掉,就会出现几个人都购买成功,然后库存减为负数出现超卖的情况.这在大量用户在同一时间点同时购买时极可能出现. 于是我们调整一下顺序,有用户购买时我们先减掉库存,那你肯定要问,怎么减?库存不够一个人的时候也减? 我们假设每份商品有一个唯一的购买码(开始抢购前预先生

  • JAVAEE model1模型实现商品浏览记录(去除重复的浏览记录)(一)

    在javaee中Model1模型是以jsp页面为中心的,jsp既要对浏览器的request做出逻辑处理(使用javabean),访问数据库也要显示出相关的页面. 在model1模型中,没有servlet. Model1结果图如下: Model1的可维护性  可扩展性都是较差的  只适合小项目. 首先运行结果 goods.jsp <%@page import="entity.Items"%> <%@page import="dao.ItemsDao"

  • java使用hadoop实现关联商品统计

    最近几天一直在看Hadoop相关的书籍,目前稍微有点感觉,自己就仿照着WordCount程序自己编写了一个统计关联商品. 需求描述: 根据超市的销售清单,计算商品之间的关联程度(即统计同时买A商品和B商品的次数). 数据格式: 超市销售清单简化为如下格式:一行表示一个清单,每个商品采用 "," 分割,如下图所示: 需求分析: 采用hadoop中的mapreduce对该需求进行计算. map函数主要拆分出关联的商品,输出结果为 key为商品A,value为商品B,对于第一条三条结果拆分结

  • java实现商品管理系统

    本文实例为大家分享了java实现商品管理系统的具体代码,供大家参考,具体内容如下 功能要求: 完成"小商品管理系统"的架构设计 要求:利用集合存储若干商品对象 ----小商品管理系统---- 0. 退出 1. 录入商品基本信息 2. 显示商品信息 3. 商品入库(增加数量) 4. 商品出库(减少数量) 5. 修改商品价格 6. 所有产品的总价格(单价*数量) import java.util.ArrayList; import java.util.Scanner; public cla

  • Java使用策略模式解决商场促销商品问题示例

    本文实例讲述了Java使用策略模式解决商场促销商品问题.分享给大家供大家参考,具体如下: 一 模式定义 策略模式:定义一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化. 二 模式举例 1 模式分析 我们借用商场促销商品来说明这一模式. 2 策略模式静态类图 3 代码示例 3.1 创建策略接口一IStrategy package com.demo.strategy; /** * 策略接口 * * @author * */ public inter

  • JavaWeb实现简单查询商品功能

    本文实例为大家分享了JavaWeb实现简单查询商品功能的具体代码,供大家参考,具体内容如下 CustomerServlet.java package com.subing.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet

  • Angular实现的简单查询天气预报功能示例

    本文实例讲述了Angular实现的简单查询天气预报功能.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="angular.min.js"></script> </head> <body ng-app="myApp&qu

  • javascript实现查询商品功能

    本文实例为大家分享了javascript实现查询商品功能的具体代码,供大家参考,具体内容如下 这是没有点击查询的主界面图 这是点击名称查询之后 按照价格查询 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript查询功能</title> <style> body{ fon

  • SSH框架网上商城项目第11战之查询和删除商品功能实现

    在第8节我们完成了查询和删除商品类别的功能,那么现在实现查询和删除商品的功能就很好做了,原理和第8节一模一样,只是修改一些参数,比如请求不同的action等.由于查询和删除商品不需要弹出新的UI窗口,所以我们只要完成完成query.jsp中相应的部分以及相应的后台即可. 1. 查询商品功能的实现 查询功能主要在查询框中实现,从上一节可知,查询框用的是一个text:"<input id='ss' name='serach' />",我们通过把普通的文本框转化为查询搜索文本框来

  • JavaWeb实现简单文件上传功能

    本文实例为大家分享了JavaWeb实现简单文件上传的具体代码,供大家参考,具体内容如下 1.概述 通常浏览器上传的所有参数,我们可以通过request对象的getParameter , getParameterMap , getParameterValue 这三个方法拿到所有的请求参数,但有一种情况,当强求包含参数包含文件上传时, 这三个方法都失效,无法拿到参数,我们就需要request对象的getInputStream方法获取这些参数, 如何解析这个字节输入流呢?apache 软件基金会: 开

  • JavaWeb实现简单的自动登录功能

    本文实例为大家分享了JavaWeb实现简单的自动登录功能的具体代码,供大家参考,具体内容如下 用最近所学的知识点实现自动登录,主要有: 1.Filter过滤器 2.session & cookie 一.需求分析 二.准备工作 1. 项目目录 2. 导入相应的jar包 三.代码实现 1. 搭建环境 1.1 搭建数据库.数据库表 数据库[user],数据库表[t_user] 1.2 搭建页面 登录页面[login.jsp] <body> <form action="Logi

  • Spring Boot 集成Elasticsearch模块实现简单查询功能

    目录 背景 系统集成 引入jar包 application.yml文件中添加ES配置 创建文档实体 接口实现 具体实现 基础查询 新增文档 请求参数 Controller实现 返回结果 修改文档 通过id查询文档信息 Controller实现 删除文档 Controller实现 分页查询 Controller实现 返回结果 模糊查询 Controller实现 范围查询 Controller实现 总结 背景 项目中我们经常会用搜索功能,普通的搜索我们可以用一个SQL的like也能实现匹配,但是搜索

  • javaWeb连接数据库实现简单登陆注册功能的全过程

    目录 实现步骤 jar包 数据库的驱动以及用户密码 jsp页面 注册页面 登陆成功和失败的页面 工具类 登陆的类 注册的类 两个映射路径 思路 登陆 注册 总结 实现步骤 创建maven项目 配置Tomcat 这些都不细说了 jar包 因为要连接数据库所以一定要在maven项目下的xml文件下配置数据库的jar包依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java&

  • JavaWeb实现简单上传文件功能

    本文实例为大家分享了JavaWeb实现上传文件功能的具体代码,供大家参考,具体内容如下 基本思想:网站服务器的内部除了有Web应用,还有文件系统,客户端向网站上传文件就是将文件以流的形式传输给了服务器,如图所示: 注意事项: 1.为保证服务器的安全,上传的文件路径应放在外界不能直接访问的目录下,比如WEB-INF目录下.2.因为服务器的文件系统大小有限,上传的文件大小必须要有限制.3.为防止因为文件名重复而导致文件覆盖,应当给上传的文件夹生成唯一的标识,比如时间戳.UUID或者md5加密.4.可

  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

随机推荐