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

首页 / 常见问题 / 设备管理系统 / jsp仓库设备管理系统简单代码
作者:设备系统 发布时间:08-23 09:50 浏览量:7984
logo
织信企业级低代码开发平台
提供表单、流程、仪表盘、API等功能,非IT用户可通过设计表单来收集数据,设计流程来进行业务协作,使用仪表盘来进行数据分析与展示,IT用户可通过API集成第三方系统平台数据。
免费试用

在开发JSP仓库设备管理系统时,您需要了解如何通过JSP和Servlet处理用户请求、如何与数据库交互以存储和检索数据、以及如何使用HTML和CSS创建用户界面。简单的代码示例包括用户登录、设备管理、和设备查询功能。以下将详细描述如何实现这些功能。

一、用户登录功能

用户登录功能是任何管理系统的基础。用户通过登录界面输入用户名和密码,系统验证其身份后允许其访问其他功能模块。这一功能的实现涉及到HTML页面的创建、用户输入的获取和验证、以及与数据库的交互。

HTML页面:创建一个简单的登录页面,用户输入用户名和密码。

<!DOCTYPE html>

<html>

<head>

<title>登录</title>

</head>

<body>

<h2>仓库设备管理系统登录</h2>

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

用户名: <input type="text" name="username"><br>

密码: <input type="password" name="password"><br>

<input type="submit" value="登录">

</form>

</body>

</html>

Servlet处理:创建一个Servlet来处理登录请求。

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.sql.*;

@WebServlet("/LoginServlet")

public class LoginServlet extends HttpServlet {

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

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

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

try {

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

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

PreparedStatement ps = conn.prepareStatement("SELECT * FROM users WHERE username=? AND password=?");

ps.setString(1, username);

ps.setString(2, password);

ResultSet rs = ps.executeQuery();

if (rs.next()) {

response.sendRedirect("welcome.jsp");

} else {

response.sendRedirect("login.jsp");

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

二、设备管理功能

设备管理功能是仓库管理系统的核心功能之一。管理员可以通过该功能添加、编辑、删除和查看设备信息。这一功能的实现涉及到JSP页面的创建、Servlet处理请求、以及与数据库的交互。

添加设备:创建一个JSP页面,管理员输入设备信息。

<!DOCTYPE html>

<html>

<head>

<title>添加设备</title>

</head>

<body>

<h2>添加设备</h2>

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

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

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

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

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

</form>

</body>

</html>

Servlet处理:创建一个Servlet来处理添加设备请求。

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.sql.*;

@WebServlet("/AddDeviceServlet")

public class AddDeviceServlet extends HttpServlet {

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

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

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

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

try {

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

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

PreparedStatement ps = conn.prepareStatement("INSERT INTO devices (deviceName, deviceType, quantity) VALUES (?, ?, ?)");

ps.setString(1, deviceName);

ps.setString(2, deviceType);

ps.setInt(3, quantity);

ps.executeUpdate();

response.sendRedirect("deviceList.jsp");

} catch (Exception e) {

e.printStackTrace();

}

}

}

三、设备查询功能

设备查询功能允许用户根据不同的条件查询设备信息。用户可以根据设备名称、设备类型等条件进行查询。这一功能的实现包括JSP页面的创建、Servlet处理查询请求、以及与数据库的交互。

查询设备:创建一个JSP页面,用户输入查询条件。

<!DOCTYPE html>

<html>

<head>

<title>查询设备</title>

</head>

<body>

<h2>查询设备</h2>

<form action="SearchDeviceServlet" method="get">

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

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

<input type="submit" value="查询">

</form>

</body>

</html>

Servlet处理:创建一个Servlet来处理查询请求。

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.sql.*;

import java.util.ArrayList;

import java.util.List;

@WebServlet("/SearchDeviceServlet")

public class SearchDeviceServlet extends HttpServlet {

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

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

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

List<Device> devices = new ArrayList<>();

try {

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

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

String query = "SELECT * FROM devices WHERE deviceName LIKE ? AND deviceType LIKE ?";

PreparedStatement ps = conn.prepareStatement(query);

ps.setString(1, "%" + deviceName + "%");

ps.setString(2, "%" + deviceType + "%");

ResultSet rs = ps.executeQuery();

while (rs.next()) {

Device device = new Device();

device.setId(rs.getInt("id"));

device.setDeviceName(rs.getString("deviceName"));

device.setDeviceType(rs.getString("deviceType"));

device.setQuantity(rs.getInt("quantity"));

devices.add(device);

}

} catch (Exception e) {

e.printStackTrace();

}

request.setAttribute("devices", devices);

request.getRequestDispatcher("deviceList.jsp").forward(request, response);

}

}

四、设备列表展示

设备列表展示功能通过JSP页面将查询结果展示给用户。用户可以查看设备的详细信息,包括设备名称、设备类型、数量等。

设备列表展示:创建一个JSP页面,展示查询结果。

<!DOCTYPE html>

<html>

<head>

<title>设备列表</title>

</head>

<body>

<h2>设备列表</h2>

<table border="1">

<tr>

<th>ID</th>

<th>设备名称</th>

<th>设备类型</th>

<th>数量</th>

</tr>

<%

List<Device> devices = (List<Device>) request.getAttribute("devices");

if (devices != null) {

for (Device device : devices) {

out.println("<tr>");

out.println("<td>" + device.getId() + "</td>");

out.println("<td>" + device.getDeviceName() + "</td>");

out.println("<td>" + device.getDeviceType() + "</td>");

out.println("<td>" + device.getQuantity() + "</td>");

out.println("</tr>");

}

}

%>

</table>

</body>

</html>

设备类:创建一个简单的Java类来表示设备。

public class Device {

private int id;

private String deviceName;

private String deviceType;

private int quantity;

// Getters and setters

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getDeviceName() {

return deviceName;

}

public void setDeviceName(String deviceName) {

this.deviceName = deviceName;

}

public String getDeviceType() {

return deviceType;

}

public void setDeviceType(String deviceType) {

this.deviceType = deviceType;

}

public int getQuantity() {

return quantity;

}

public void setQuantity(int quantity) {

this.quantity = quantity;

}

}

五、设备编辑功能

设备编辑功能允许管理员修改设备信息。管理员可以通过设备列表页面选择需要编辑的设备,进入编辑页面进行修改。

编辑设备:创建一个JSP页面,管理员修改设备信息。

<!DOCTYPE html>

<html>

<head>

<title>编辑设备</title>

</head>

<body>

<h2>编辑设备</h2>

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

<input type="hidden" name="id" value="<%= request.getParameter("id") %>">

设备名称: <input type="text" name="deviceName" value="<%= request.getParameter("deviceName") %>"><br>

设备类型: <input type="text" name="deviceType" value="<%= request.getParameter("deviceType") %>"><br>

数量: <input type="number" name="quantity" value="<%= request.getParameter("quantity") %>"><br>

<input type="submit" value="保存">

</form>

</body>

</html>

Servlet处理:创建一个Servlet来处理编辑设备请求。

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.sql.*;

@WebServlet("/EditDeviceServlet")

public class EditDeviceServlet extends HttpServlet {

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

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

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

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

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

try {

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

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

PreparedStatement ps = conn.prepareStatement("UPDATE devices SET deviceName=?, deviceType=?, quantity=? WHERE id=?");

ps.setString(1, deviceName);

ps.setString(2, deviceType);

ps.setInt(3, quantity);

ps.setInt(4, id);

ps.executeUpdate();

response.sendRedirect("deviceList.jsp");

} catch (Exception e) {

e.printStackTrace();

}

}

}

六、设备删除功能

设备删除功能允许管理员删除设备信息。管理员可以通过设备列表页面选择需要删除的设备,系统将其从数据库中删除。

删除设备:在设备列表页面添加删除按钮。

<!DOCTYPE html>

<html>

<head>

<title>设备列表</title>

</head>

<body>

<h2>设备列表</h2>

<table border="1">

<tr>

<th>ID</th>

<th>设备名称</th>

<th>设备类型</th>

<th>数量</th>

<th>操作</th>

</tr>

<%

List<Device> devices = (List<Device>) request.getAttribute("devices");

if (devices != null) {

for (Device device : devices) {

out.println("<tr>");

out.println("<td>" + device.getId() + "</td>");

out.println("<td>" + device.getDeviceName() + "</td>");

out.println("<td>" + device.getDeviceType() + "</td>");

out.println("<td>" + device.getQuantity() + "</td>");

out.println("<td>");

out.println("<a href='EditDeviceServlet?id=" + device.getId() + "'>编辑</a>");

out.println("<a href='DeleteDeviceServlet?id=" + device.getId() + "'>删除</a>");

out.println("</td>");

out.println("</tr>");

}

}

%>

</table>

</body>

</html>

Servlet处理:创建一个Servlet来处理删除设备请求。

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.sql.*;

@WebServlet("/DeleteDeviceServlet")

public class DeleteDeviceServlet extends HttpServlet {

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

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

try {

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

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

PreparedStatement ps = conn.prepareStatement("DELETE FROM devices WHERE id=?");

ps.setInt(1, id);

ps.executeUpdate();

response.sendRedirect("deviceList.jsp");

} catch (Exception e) {

e.printStackTrace();

}

}

}

七、系统整合与部署

系统整合与部署是开发完成后的重要步骤,确保各个模块能够无缝协作。将所有模块整合到一个Web应用中,并部署到服务器上进行测试和运行。

项目结构:确保项目结构清晰,便于维护和扩展。

warehouse-management

│ pom.xml

└───src

└───main

└───java

│ └───com

│ └───example

│ ├───AddDeviceServlet.java

│ ├───DeleteDeviceServlet.java

│ ├───Device.java

│ ├───EditDeviceServlet.java

│ ├───LoginServlet.java

│ └───SearchDeviceServlet.java

└───webapp

├───WEB-INF

│ └───web.xml

├───addDevice.jsp

├───deviceList.jsp

├───editDevice.jsp

└───login.jsp

配置文件:配置web.xml文件,定义Servlet映射和其他配置。

<web-app>

<servlet>

<servlet-name>LoginServlet</servlet-name>

<servlet-class>com.example.LoginServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>LoginServlet</servlet-name>

<url-pattern>/LoginServlet</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>AddDeviceServlet</servlet-name>

<servlet-class>com.example.AddDeviceServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>AddDeviceServlet</servlet-name>

<url-pattern>/AddDeviceServlet</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>EditDeviceServlet</servlet-name>

<servlet-class>com.example.EditDeviceServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>EditDeviceServlet</servlet-name>

<url-pattern>/EditDeviceServlet</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>DeleteDeviceServlet</servlet-name>

<servlet-class>com.example.DeleteDeviceServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>DeleteDeviceServlet</servlet-name>

<url-pattern>/DeleteDeviceServlet</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>SearchDeviceServlet</servlet-name>

<servlet-class>com.example.SearchDeviceServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>SearchDeviceServlet</servlet-name>

<url-pattern>/SearchDeviceServlet</url-pattern>

</servlet-mapping>

</web-app>

部署:将Web应用部署到Tomcat服务器,并测试各个功能模块,确保系统能够正常运行。

通过以上步骤,您可以实现一个简单的JSP仓库设备管理系统。这个示例展示了如何使用JSP和Servlet处理用户请求、与数据库交互、以及创建用户界面。您可以根据实际需求进行扩展和优化。

相关问答FAQs:

在开发一个简单的JSP仓库设备管理系统时,需要考虑到基本的功能模块,包括设备的增删改查(CRUD)操作,以及用户界面、数据库连接和基本的业务逻辑。以下是一个简单的示例代码结构,帮助你理解如何实现这一系统。

1. 项目结构

WarehouseManagementSystem/
│
├── WEB-INF/
│   ├── web.xml
│   └── classes/
│       └── (你的Java类文件)
│
├── index.jsp
├── addDevice.jsp
├── editDevice.jsp
└── deviceList.jsp

2. 数据库设计

假设我们使用MySQL数据库,创建一个名为devices的表,结构如下:

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

3. 数据库连接

WEB-INF/classes目录下创建一个DBUtil.java类,用于数据库连接:

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

public class DBUtil {
    private static final String URL = "jdbc:mysql://localhost:3306/your_database_name";
    private static final String USER = "your_username";
    private static final String PASSWORD = "your_password";

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(URL, USER, PASSWORD);
    }
}

4. 设备管理操作

创建一个Device.java类,包含设备的属性和基本的CRUD操作:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class Device {
    private int id;
    private String name;
    private String type;
    private int quantity;

    // Getters and Setters

    public static List<Device> getAllDevices() {
        List<Device> devices = new ArrayList<>();
        String sql = "SELECT * FROM devices";
        try (Connection conn = DBUtil.getConnection();
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery(sql)) {
            while (rs.next()) {
                Device device = new Device();
                device.setId(rs.getInt("id"));
                device.setName(rs.getString("name"));
                device.setType(rs.getString("type"));
                device.setQuantity(rs.getInt("quantity"));
                devices.add(device);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return devices;
    }

    public static void addDevice(Device device) {
        String sql = "INSERT INTO devices (name, type, quantity) VALUES (?, ?, ?)";
        try (Connection conn = DBUtil.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(sql)) {
            pstmt.setString(1, device.getName());
            pstmt.setString(2, device.getType());
            pstmt.setInt(3, device.getQuantity());
            pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    // Similarly, implement updateDevice and deleteDevice methods
}

5. JSP页面

5.1 index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>仓库设备管理系统</title>
</head>
<body>
    <h1>欢迎来到仓库设备管理系统</h1>
    <a href="addDevice.jsp">添加设备</a>
    <a href="deviceList.jsp">设备列表</a>
</body>
</html>

5.2 addDevice.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="your.package.Device" %>
<html>
<head>
    <title>添加设备</title>
</head>
<body>
    <h1>添加设备</h1>
    <form action="addDeviceProcess.jsp" method="post">
        设备名称: <input type="text" name="name"><br>
        设备类型: <input type="text" name="type"><br>
        数量: <input type="number" name="quantity"><br>
        <input type="submit" value="添加设备">
    </form>
</body>
</html>

5.3 addDeviceProcess.jsp

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

    Device device = new Device();
    device.setName(name);
    device.setType(type);
    device.setQuantity(quantity);
    
    Device.addDevice(device);
%>
<p>设备添加成功!</p>
<a href="index.jsp">返回首页</a>

5.4 deviceList.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.List" %>
<%@ page import="your.package.Device" %>
<html>
<head>
    <title>设备列表</title>
</head>
<body>
    <h1>设备列表</h1>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>名称</th>
            <th>类型</th>
            <th>数量</th>
        </tr>
        <%
            List<Device> devices = Device.getAllDevices();
            for (Device device : devices) {
        %>
        <tr>
            <td><%= device.getId() %></td>
            <td><%= device.getName() %></td>
            <td><%= device.getType() %></td>
            <td><%= device.getQuantity() %></td>
        </tr>
        <%
            }
        %>
    </table>
</body>
</html>

6. 配置web.xml

WEB-INF/web.xml中添加基本的配置:

<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>DeviceServlet</servlet-name>
        <servlet-class>your.package.Device</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DeviceServlet</servlet-name>
        <url-pattern>/device</url-pattern>
    </servlet-mapping>
</web-app>

7. 运行项目

确保你已经安装了Tomcat服务器,并将项目部署到Tomcat的webapps目录中。启动Tomcat后,访问http://localhost:8080/WarehouseManagementSystem/index.jsp,你将能够看到设备管理系统的主页。

结论

以上代码展示了一个简单的JSP仓库设备管理系统的基本结构和实现方法。可以根据实际需求扩展功能,例如添加用户权限管理、设备搜索、设备详情等功能。使用JSP和Servlet技术,可以快速构建出一个动态的Web应用程序,帮助企业更好地管理仓库设备。

推荐工具

为了更轻松地构建管理软件,推荐使用一个好用的低代码开发平台,5分钟即可搭建一个管理软件:
地址: https://www.informat.cn/(或直接右上角申请体验)x6aj1;

100+企业管理系统模板免费使用>>>无需下载,在线安装:
地址: https://www.informat.cn/(或直接右上角申请体验)7wtn5;

最近更新

如何与硬件设备关联开发
09-12 11:37
设备管理项目有哪些
09-12 11:37
设备项目管理缺陷有哪些
09-12 11:37
开发者都使用什么硬件设备
09-12 11:37
有什么软件可以一键读取汽车CAN各个设备的ID
09-12 11:37
如何做好项目设备管理工作
09-12 11:37
物联网设备的编程语言一般是什么
09-12 11:37
硬件开发设备费怎么报预算
09-12 11:37
物联网设备的运转原理是什么
09-12 11:37

立即开启你的数字化管理

用心为每一位用户提供专业的数字化解决方案及业务咨询

  • 深圳市基石协作科技有限公司
  • 地址:深圳市南山区科技中一路大族激光科技中心909室
  • 座机:400-185-5850
  • 手机:137-1379-6908
  • 邮箱:sales@cornerstone365.cn
  • 微信公众号二维码

© copyright 2019-2024. 织信INFORMAT 深圳市基石协作科技有限公司 版权所有 | 粤ICP备15078182号

前往Gitee仓库
微信公众号二维码
咨询织信数字化顾问获取最新资料
数字化咨询热线
400-185-5850
申请预约演示
立即与行业专家交流