jsp仓库设备管理系统简单代码

jsp仓库设备管理系统简单代码

要开发一个简单的JSP仓库设备管理系统,核心步骤包括:数据库设计、JSP页面编写、Servlet编写、以及与数据库的连接和操作。本文将详细介绍如何实现这些步骤,并为你提供一些示例代码。

一、数据库设计与配置

在开始编写代码之前,首先需要设计数据库。可以使用MySQL数据库来存储设备信息。创建一个名为warehouse_management的数据库,并在其中创建一个名为equipment的表。该表包含以下字段:

CREATE DATABASE warehouse_management;

USE warehouse_management;

CREATE TABLE equipment (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(100) NOT NULL,

type VARCHAR(100) NOT NULL,

quantity INT NOT NULL,

location VARCHAR(100) NOT NULL

);

这个表将存储设备的ID、名称、类型、数量和位置等信息。

二、配置JSP页面

在Web应用程序中,我们将使用JSP页面来显示和管理设备信息。首先创建一个名为index.jsp的文件,用于显示设备列表:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ page import="java.sql.*, java.util.*" %>

<!DOCTYPE html>

<html>

<head>

<title>仓库设备管理系统</title>

</head>

<body>

<h1>设备列表</h1>

<table border="1">

<tr>

<th>ID</th>

<th>名称</th>

<th>类型</th>

<th>数量</th>

<th>位置</th>

</tr>

<%

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/warehouse_management", "root", "password");

stmt = conn.createStatement();

rs = stmt.executeQuery("SELECT * FROM equipment");

while(rs.next()) {

%>

<tr>

<td><%= rs.getInt("id") %></td>

<td><%= rs.getString("name") %></td>

<td><%= rs.getString("type") %></td>

<td><%= rs.getInt("quantity") %></td>

<td><%= rs.getString("location") %></td>

</tr>

<%

}

} catch(Exception e) {

e.printStackTrace();

} finally {

if(rs != null) rs.close();

if(stmt != null) stmt.close();

if(conn != null) conn.close();

}

%>

</table>

<a href="addEquipment.jsp">添加设备</a>

</body>

</html>

这个页面将从数据库中检索设备信息并以表格形式显示。

三、添加设备功能

为了添加设备,需要创建一个名为addEquipment.jsp的文件:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<title>添加设备</title>

</head>

<body>

<h1>添加新设备</h1>

<form action="addEquipmentServlet" method="post">

名称: <input type="text" name="name"><br>

类型: <input type="text" name="type"><br>

数量: <input type="number" name="quantity"><br>

位置: <input type="text" name="location"><br>

<input type="submit" value="添加">

</form>

</body>

</html>

这个页面包含一个表单,用户可以在其中输入新设备的信息。

四、Servlet编写

创建一个名为AddEquipmentServlet的Servlet来处理表单提交并将设备信息插入数据库:

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

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("/addEquipmentServlet")

public class AddEquipmentServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String name = request.getParameter("name");

String type = request.getParameter("type");

int quantity = Integer.parseInt(request.getParameter("quantity"));

String location = request.getParameter("location");

Connection conn = null;

PreparedStatement pstmt = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/warehouse_management", "root", "password");

String sql = "INSERT INTO equipment (name, type, quantity, location) VALUES (?, ?, ?, ?)";

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, name);

pstmt.setString(2, type);

pstmt.setInt(3, quantity);

pstmt.setString(4, location);

pstmt.executeUpdate();

} catch(Exception e) {

e.printStackTrace();

} finally {

if(pstmt != null) try { pstmt.close(); } catch(Exception e) {}

if(conn != null) try { conn.close(); } catch(Exception e) {}

}

response.sendRedirect("index.jsp");

}

}

这个Servlet将接受表单数据,并将其插入到数据库中,然后重定向回设备列表页面。

五、更新与删除设备

为了实现设备的更新和删除功能,需要分别创建updateEquipment.jspdeleteEquipmentServlet

updateEquipment.jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" %>

<!DOCTYPE html>

<html>

<head>

<title>更新设备</title>

</head>

<body>

<h1>更新设备信息</h1>

<%

int id = Integer.parseInt(request.getParameter("id"));

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

String name = "", type = "", location = "";

int quantity = 0;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/warehouse_management", "root", "password");

String sql = "SELECT * FROM equipment WHERE id = ?";

pstmt = conn.prepareStatement(sql);

pstmt.setInt(1, id);

rs = pstmt.executeQuery();

if(rs.next()) {

name = rs.getString("name");

type = rs.getString("type");

quantity = rs.getInt("quantity");

location = rs.getString("location");

}

} catch(Exception e) {

e.printStackTrace();

} finally {

if(rs != null) rs.close();

if(pstmt != null) pstmt.close();

if(conn != null) conn.close();

}

%>

<form action="updateEquipmentServlet" method="post">

<input type="hidden" name="id" value="<%= id %>">

名称: <input type="text" name="name" value="<%= name %>"><br>

类型: <input type="text" name="type" value="<%= type %>"><br>

数量: <input type="number" name="quantity" value="<%= quantity %>"><br>

位置: <input type="text" name="location" value="<%= location %>"><br>

<input type="submit" value="更新">

</form>

</body>

</html>

UpdateEquipmentServlet代码:

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

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("/updateEquipmentServlet")

public class UpdateEquipmentServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

int id = Integer.parseInt(request.getParameter("id"));

String name = request.getParameter("name");

String type = request.getParameter("type");

int quantity = Integer.parseInt(request.getParameter("quantity"));

String location = request.getParameter("location");

Connection conn = null;

PreparedStatement pstmt = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/warehouse_management", "root", "password");

String sql = "UPDATE equipment SET name = ?, type = ?, quantity = ?, location = ? WHERE id = ?";

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, name);

pstmt.setString(2, type);

pstmt.setInt(3, quantity);

pstmt.setString(4, location);

pstmt.setInt(5, id);

pstmt.executeUpdate();

} catch(Exception e) {

e.printStackTrace();

} finally {

if(pstmt != null) try { pstmt.close(); } catch(Exception e) {}

if(conn != null) try { conn.close(); } catch(Exception e) {}

}

response.sendRedirect("index.jsp");

}

}

DeleteEquipmentServlet代码:

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

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("/deleteEquipmentServlet")

public class DeleteEquipmentServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

int id = Integer.parseInt(request.getParameter("id"));

Connection conn = null;

PreparedStatement pstmt = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/warehouse_management", "root", "password");

String sql = "DELETE FROM equipment WHERE id = ?";

pstmt = conn.prepareStatement(sql);

pstmt.setInt(1, id);

pstmt.executeUpdate();

} catch(Exception e) {

e.printStackTrace();

} finally {

if(pstmt != null) try { pstmt.close(); } catch(Exception e) {}

if(conn != null) try { conn.close(); } catch(Exception e) {}

}

response.sendRedirect("index.jsp");

}

}

六、项目结构与配置

项目结构应该如下:

WarehouseManagement/

├── WebContent/

│ ├── addEquipment.jsp

│ ├── index.jsp

│ ├── updateEquipment.jsp

├── src/

│ ├── AddEquipmentServlet.java

│ ├── UpdateEquipmentServlet.java

│ ├── DeleteEquipmentServlet.java

├── build.xml

├── .classpath

├── .project

web.xml中配置Servlet:

<web-app>

<servlet>

<servlet-name>AddEquipmentServlet</servlet-name>

<servlet-class>AddEquipmentServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>AddEquipmentServlet</servlet-name>

<url-pattern>/addEquipmentServlet</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>UpdateEquipmentServlet</servlet-name>

<servlet-class>UpdateEquipmentServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>UpdateEquipmentServlet</servlet-name>

<url-pattern>/updateEquipmentServlet</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>DeleteEquipmentServlet</servlet-name>

<servlet-class>DeleteEquipmentServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>DeleteEquipmentServlet</servlet-name>

<url-pattern>/deleteEquipmentServlet</url-pattern>

</servlet-mapping>

</web-app>

七、部署与测试

将项目部署到Tomcat服务器上,并启动服务器。访问http://localhost:8080/WarehouseManagement/index.jsp查看和管理设备信息。

此仓库设备管理系统的代码示例展示了如何使用JSP和Servlet实现一个简单的CRUD操作。通过这个示例,你可以进一步扩展和完善系统,例如添加用户认证、日志记录、数据验证等功能。

相关问答FAQs:

构建一个简单的JSP仓库设备管理系统,涉及到多个方面,包括数据库设计、前端展示、后端逻辑处理等。以下是一个简化的示例代码,帮助你快速上手。

1. 数据库设计

首先,设计一个简单的数据库表,用于存储设备信息。可以使用MySQL数据库,创建一个名为devices的表。

CREATE TABLE devices (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    type VARCHAR(50) NOT NULL,
    quantity INT NOT NULL,
    location VARCHAR(100) NOT NULL
);

2. JSP页面设计

接下来,创建一个简单的JSP页面,用于展示设备信息和添加新设备。

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
    <title>仓库设备管理系统</title>
</head>
<body>
    <h1>设备列表</h1>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>设备名称</th>
            <th>设备类型</th>
            <th>数量</th>
            <th>位置</th>
        </tr>
        <%
            String url = "jdbc:mysql://localhost:3306/yourdatabase";
            String user = "root";
            String password = "yourpassword";
            Connection con = DriverManager.getConnection(url, user, password);
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM devices");
            while (rs.next()) {
        %>
        <tr>
            <td><%= rs.getInt("id") %></td>
            <td><%= rs.getString("name") %></td>
            <td><%= rs.getString("type") %></td>
            <td><%= rs.getInt("quantity") %></td>
            <td><%= rs.getString("location") %></td>
        </tr>
        <%
            }
            rs.close();
            stmt.close();
            con.close();
        %>
    </table>

    <h2>添加新设备</h2>
    <form action="addDevice.jsp" method="post">
        设备名称: <input type="text" name="name"><br>
        设备类型: <input type="text" name="type"><br>
        数量: <input type="number" name="quantity"><br>
        位置: <input type="text" name="location"><br>
        <input type="submit" value="添加设备">
    </form>
</body>
</html>

addDevice.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%
    String name = request.getParameter("name");
    String type = request.getParameter("type");
    int quantity = Integer.parseInt(request.getParameter("quantity"));
    String location = request.getParameter("location");

    String url = "jdbc:mysql://localhost:3306/yourdatabase";
    String user = "root";
    String password = "yourpassword";
    Connection con = DriverManager.getConnection(url, user, password);
    String sql = "INSERT INTO devices (name, type, quantity, location) VALUES (?, ?, ?, ?)";
    PreparedStatement pstmt = con.prepareStatement(sql);
    pstmt.setString(1, name);
    pstmt.setString(2, type);
    pstmt.setInt(3, quantity);
    pstmt.setString(4, location);
    pstmt.executeUpdate();

    pstmt.close();
    con.close();

    response.sendRedirect("index.jsp");
%>

3. 项目结构

在你的项目中,文件结构可以如下:

/your-web-app
  ├── index.jsp
  ├── addDevice.jsp
  └── WEB-INF
      └── web.xml

4. web.xml配置

WEB-INF文件夹下创建web.xml文件,配置Servlet和JSP的访问。

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>modificationTestInterval</param-name>
            <param-value>0</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>
</web-app>

5. 运行项目

确保你已经正确配置了MySQL数据库,并将JDBC驱动放在你的项目中。你可以使用Tomcat等服务器运行该项目。在浏览器中访问http://localhost:8080/your-web-app/index.jsp,你将看到设备列表和添加设备的表单。

总结

以上是一个简单的JSP仓库设备管理系统的示例代码,涵盖了设备的展示和添加功能。你可以根据自己的需求,进一步扩展功能,如编辑和删除设备、用户权限管理等。

为了提升开发效率,推荐一个好用的零代码开发平台,5分钟即可搭建一个管理软件:
地址: https://s.fanruan.com/x6aj1;

100+企业管理系统模板免费使用>>>无需下载,在线安装:
地址: https://s.fanruan.com/7wtn5;

免责申明:本文内容通过AI工具匹配关键字智能整合而成,仅供参考,帆软及简道云不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系marketing@jiandaoyun.com进行反馈,简道云收到您的反馈后将及时处理并反馈。
(0)
简道云——国内领先的企业级零代码应用搭建平台
Wong, DanielWong, Daniel

发表回复

登录后才能评论

丰富模板,开箱即用

更多模板

应用搭建,如此

国内领先的企业级零代码应用搭建平台

已为你匹配合适的管理模板
请选择您的管理需求

19年 数字化服务经验

2200w 平台注册用户

205w 企业组织使用

NO.1 IDC认证零代码软件市场占有率

丰富模板,安装即用

200+应用模板,既提供标准化管理方案,也支持零代码个性化修改

  • rich-template
    CRM客户管理
    • 客户数据360°管理
    • 销售全过程精细化管控
    • 销售各环节数据快速分析
    • 销售业务规则灵活设置
  • rich-template
    进销存管理
    • 销售订单全流程管理
    • 实时动态库存管理
    • 采购精细化线上管理
    • 业财一体,收支对账清晰
  • rich-template
    ERP管理
    • 提高“采销存产财”业务效率
    • 生产计划、进度全程管控
    • 业务数据灵活分析、展示
    • 个性化需求自定义修改
  • rich-template
    项目管理
    • 集中管理项目信息
    • 灵活创建项目计划
    • 多层级任务管理,高效协同
    • 可视化项目进度追踪与分析
  • rich-template
    HRM人事管理
    • 一体化HR管理,数据全打通
    • 员工档案规范化、无纸化
    • “入转调离”线上审批、管理
    • 考勤、薪酬、绩效数据清晰
  • rich-template
    行政OA管理
    • 常见行政管理模块全覆盖
    • 多功能模块灵活组合
    • 自定义审批流程
    • 无纸化线上办公
  • rich-template
    200+管理模板
立刻体验模板

低成本、快速地搭建企业级管理应用

通过功能组合,灵活实现数据在不同场景下的:采集-流转-处理-分析应用

    • 表单个性化

      通过对字段拖拉拽或导入Excel表,快速生成一张表单,灵活进行数据采集、填报与存档

      查看详情
      产品功能,表单设计,增删改,信息收集与管理

      通过对字段拖拉拽或导入Excel表,快速生成一张表单,灵活进行数据采集、填报与存档

      免费试用
    • 流程自动化

      对录入的数据设置流程规则实现数据的流转、审批、分配、提醒……

      查看详情
      产品功能,流程设计,任务流转,审批流

      对录入的数据设置流程规则实现数据的流转、审批、分配、提醒……

      免费试用
    • 数据可视化

      选择你想可视化的数据表,并匹配对应的图表类型即可快速生成一张报表/可视化看板

      产品功能,数据报表可视化,权限管理

      选择你想可视化的数据表,并匹配对应的图表类型即可快速生成一张报表/可视化看板

      免费试用
    • 数据全打通

      在不同数据表之间进行 数据关联与数据加减乘除计算,实时、灵活地分析处理数据

      查看详情
      产品功能,数据处理,分组汇总

      在不同数据表之间进行 数据关联与数据加减乘除计算,实时、灵活地分析处理数据

      免费试用
    • 智能数据流

      根据数据变化状态、时间等规则,设置事项自动触发流程,告别重复手动操作

      查看详情
      产品功能,智能工作,自动流程

      根据数据变化状态、时间等规则,设置事项自动触发流程,告别重复手动操作

      免费试用
    • 跨组织协作

      邀请企业外的人员和组织加入企业内部业务协作流程,灵活设置权限,过程、数据可查可控

      查看详情
      产品功能,上下游协作,跨组织沟通

      邀请企业外的人员和组织加入企业内部业务协作流程,灵活设置权限,过程、数据可查可控

      免费试用
    • 多平台使用

      手机电脑不受限,随时随地使用;不论微信、企业微信、钉钉还是飞书,均可深度集成;

      查看详情
      多端使用,电脑手机,OA平台

      手机电脑不受限,随时随地使用;不论微信、企业微信、钉钉还是飞书,均可深度集成;

      免费试用

    领先企业,真实声音

    完美适配,各行各业

    客户案例

    海量资料,免费下载

    国内领先的零代码数字化智库,免费提供海量白皮书、图谱、报告等下载

    更多资料

    大中小企业,
    都有适合的数字化方案

    • gartner认证,LCAP,中国代表厂商

      中国低代码和零代码软件市场追踪报告
      2023H1零代码软件市场第一

    • gartner认证,CADP,中国代表厂商

      公民开发平台(CADP)
      中国代表厂商

    • gartner认证,CADP,中国代表厂商

      低代码应用开发平台(CADP)
      中国代表厂商

    • forrester认证,中国低代码,入选厂商

      中国低代码开发领域
      入选厂商

    • 互联网周刊,排名第一

      中国低代码厂商
      排行榜第一

    • gartner认证,CADP,中国代表厂商

      国家信息系统安全
      三级等保认证

    • gartner认证,CADP,中国代表厂商

      信息安全管理体系
      ISO27001认证