javaweb图书管理系统

以下是一个简单的Java Web图书管理系统的代码示例,实现了基本的用户登录、添加书籍、查询书籍、修改书籍信息等功能。

1.数据库表结构

CREATE TABLE `book` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `author` varchar(50) NOT NULL,
  `price` float NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

 

2.后端接口代码(使用Servlet和JSP)

(1)用户登录

LoginServlet.java

@WebServlet("/login")
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");
        
        // 判断用户名和密码是否正确
        if ("admin".equals(username) && "123456".equals(password)) {
            // 登录成功,将用户信息存入session中
            HttpSession session = request.getSession();
            session.setAttribute("username", username);
            
            // 跳转到图书列表页面
            response.sendRedirect(request.getContextPath() + "/bookList.jsp");
        } else {
            // 登录失败,返回登录页面并显示错误信息
            request.setAttribute("error", "用户名或密码错误");
            request.getRequestDispatcher("/login.jsp").forward(request, response);
        }
    }
}

login.jsp

<form action="${pageContext.request.contextPath}/login" method="post">
    用户名:<input type="text" name="username"><br>
    密码:<input type="password" name="password"><br>
    <input type="submit" value="登录">
</form>

(2)添加书籍

AddBookServlet.java

@WebServlet("/addBook")
public class AddBookServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取书籍信息
        String name = request.getParameter("name");
        String author = request.getParameter("author");
        float price = Float.parseFloat(request.getParameter("price"));
        
        // 将书籍信息插入到数据库中
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = DBUtils.getConnection();
            String sql = "INSERT INTO book (name, author, price) VALUES (?, ?, ?)";
            ps = conn.prepareStatement(sql);
            ps.setString(1, name);
            ps.setString(2, author);
            ps.setFloat(3, price);
            ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.close(conn, ps, null);
        }

        // 跳转到图书列表页面
        response.sendRedirect(request.getContextPath() + "/bookList.jsp");
    }
}

addBook.jsp

<form action="${pageContext.request.contextPath}/addBook" method="post">
    书名:<input type="text" name="name"><br>
    作者:<input type="text" name="author"><br>
    价格:<input type="text" name="price"><br>
    <input type="submit" value="提交">
</form>

(3)查询书籍

BookListServlet.java

@WebServlet("/bookList")
public class BookListServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 查询数据库中所有的书籍信息
        List<Book> bookList = new ArrayList<>();
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            conn = DBUtils.getConnection();
            String sql = "SELECT * FROM book";
            stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                Book book = new Book();
                book.setId(rs.getInt("id"));
                book.setName(rs.getString("name"));
                book.setAuthor(rs.getString("author"));
                book.setPrice(rs.getFloat("price"));
                bookList.add(book);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.close(conn, stmt, rs);
        }

        // 将查询结果存入request中,跳转到图书列表页面
        request.setAttribute("bookList", bookList);
        request.getRequestDispatcher("/bookList.jsp").forward(request, response);
    }
}

bookList.jsp

<table>
    <tr>
        <th>ID</th>
        <th>书名</th>
        <th>作者</th>
        <th>价格</th>
        <th>操作</th>
    </tr>
    <c:forEach items="${bookList}" var="book">
        <tr>
            <td>${book.id}</td>
            <td>${book.name}</td>
            <td>${book.author}</td>
            <td>${book.price}</td>
            <td>
                <a href="${pageContext.request.contextPath}/editBook?id=${book.id}">编辑</a>
                <a href="${pageContext.request.contextPath}/deleteBook?id=${book.id}">删除</a>
            </td>
        </tr>
    </c:forEach>
</table>
<a href="${pageContext.request.contextPath}/addBook.jsp">添加书籍</a>

(4)修改书籍信息

EditBookServlet.java

@WebServlet("/editBook")
public class EditBookServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 根据id查询数据库中的书籍信息
        int id = Integer.parseInt(request.getParameter("id"));
        Book book = null;
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            conn = DBUtils.getConnection();
            String sql = "SELECT * FROM book WHERE id = ?";
            ps = conn.prepareStatement(sql);
            ps.setInt(1, id);
            rs = ps.executeQuery();
            if (rs.next()) {
                book = new Book();
                book.setId(rs.getInt("id"));
                book.setName(rs.getString("name"));
                book.setAuthor(rs.getString("author"));
                book.setPrice(rs.getFloat("price"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.close(conn, ps, rs);
        }

        // 将查询结果存入request中,跳转到编辑页面
        request.setAttribute("book", book);
        request.getRequestDispatcher("/editBook.jsp").forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取书籍信息
        int id = Integer.parseInt(request.getParameter("id"));
        String name = request.getParameter("name");
        String author = request.getParameter("author");
        float price = Float.parseFloat(request.getParameter("price"));

        // 更新数据库中的书籍信息
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = DBUtils.getConnection();
            String sql = "UPDATE book SET name=?, author=?, price=? WHERE id=?";
            ps = conn.prepareStatement(sql);
            ps.setString(1, name);
            ps.setString(2, author);
            ps.setFloat(3, price);
            ps.setInt(4, id);
            ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.close(conn, ps, null);
        }

        // 跳转到图书列表页面
        response.sendRedirect(request.getContextPath() + "/bookList");
    }
}

editBook.jsp

<form action="${pageContext.request.contextPath}/editBook" method="post">
    <input type="hidden" name="id" value="${book.id}">
    书名:<input type="text" name="name" value="${book.name}"><br>
    作者:<input type="text" name="author" value="${book.author}"><br>
    价格:<input type="text" name="price" value="${book.price}"><br>
    <input type="submit" value="提交">
</form>

 

3.前端界面

参考上述示例代码中的login.jsp、addBook.jsp和bookList.jsp。

以上是一个简单的Java Web图书管理系统的代码示例,仅供参考。实际开发中,还需要考虑安全性、性能优化等方面的问题。

  • 9
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
JavaWeb图书馆管理系统的登录功能代码实现可以分为以下几个步骤: 1. 创建数据库表格,存储用户信息,包括用户名和密码等信息。 2. 在JavaWeb项目中创建一个登录页面,包括用户名和密码输入框以及登录按钮。 3. 在后台Java代码中,获取用户输入的用户名和密码信息。 4. 将用户输入的密码进行加密处理,然后与数据库中存储的密码进行比对。 5. 如果用户名和密码匹配,则登录成功,否则登录失败。 下面是一个简单的JavaWeb登录功能代码实现示例: ``` // 获取用户输入的用户名和密码 String username = request.getParameter("username"); String password = request.getParameter("password"); // 对密码进行加密处理 String encryptedPassword = encrypt(password); // 查询数据库中是否存在该用户 String sql = "SELECT * FROM user WHERE username = ? AND password = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, encryptedPassword); ResultSet rs = pstmt.executeQuery(); // 判断是否登录成功 if (rs.next()) { // 登录成功,跳转到主页面 response.sendRedirect("main.jsp"); } else { // 登录失败,返回登录页面并提示错误信息 request.setAttribute("error", "用户名或密码错误"); request.getRequestDispatcher("login.jsp").forward(request, response); } ``` 其中,`encrypt`方法是对密码进行加密处理的方法,可以使用常见的加密算法,如MD5等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

个人练习生xx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值