JSP中使用JDBC修改数据

来源:互联网 发布:点击执行js方法 编辑:程序博客网 时间:2024/05/16 04:03

同样以之前的例子作为基础,直接上代码:

index.jsp:

<%@page import="java.net.URLDecoder"%><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!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>添加图书</title></head><body><a href="FindServlet">查看所有图书</a></body></html>

FindServlet:

package com.home.web.servlet;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.List;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 com.home.web.dto.Book;/** * Servlet implementation class AddServlet */@WebServlet("/FindServlet")public class FindServlet extends HttpServlet {private static final long serialVersionUID = 1L;           /**     * @see HttpServlet#HttpServlet()     */    public FindServlet() {        super();    }/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        try {            Class.forName("com.mysql.jdbc.Driver");            String url = "jdbc:mysql://localhost:3306/test";            Connection conn = DriverManager.getConnection(url, "root", "123456");            Statement stmt = conn.createStatement();            String sql = "select * from t_books";            ResultSet rs = stmt.executeQuery(sql);            List<Book> list = new ArrayList<>();            while (rs.next()) {                Book book = new Book();                book.setId(rs.getInt("id"));                book.setName(rs.getString("name"));                book.setPrice(rs.getDouble("price"));                book.setBookCount(rs.getInt("bookCount"));                book.setAuthor(rs.getString("author"));                list.add(book);            }            request.setAttribute("list", list);            rs.close();            stmt.close();            conn.close();        } catch (Exception e) {            e.printStackTrace();        }        request.getRequestDispatcher("result.jsp").forward(request, response);}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        doGet(request, response);}}

上面两部分跟之前一样,用来展示数据

result.jsp:

<%@page import="java.sql.*"%><%@ page language="java" import="java.util.*" autoFlush="true"import="com.home.web.dto.*" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!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><table align="center" width="500" border="1"><tr><td colspan="6" align="center"><h2>所有图书信息</h2></td></tr><tr align="center"><td><b>ID</b></td><td><b>图书名称</b></td><td><b>价格</b></td><td><b>数量</b></td><td><b>作者</b></td><td><b>修改数量</b></td></tr><%    List<Book> list = (List<Book>) request.getAttribute("list");    if (list == null || list.size() < 1) {        out.println("没有数据!");    } else {        for (Book book : list) {%><tr align="center"><td><%=book.getId()%></td><td><%=book.getName()%></td><td><%=book.getPrice()%></td><td><%=book.getBookCount()%></td><td><%=book.getAuthor()%></td><td><form action="UpdateServlet" method="post"onsubmit="return check(this);"><!-- 隐藏域 --><input type="hidden" name="id" value="<%=book.getId()%>" /> <inputtype="text" name="bookCount" size="3" /> <input type="submit"value="修  改" /></form></td></tr><%    }    }%></table></body></html>

UpdateServlet:

package com.home.web.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;/** * Servlet implementation class UpdateServlet */@WebServlet("/UpdateServlet")public class UpdateServlet extends HttpServlet {    private static final long serialVersionUID = 1L;    /**     * @see HttpServlet#HttpServlet()     */    public UpdateServlet() {        super();    }    /**     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse     *      response)     */    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse     *      response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        int id = Integer.valueOf(request.getParameter("id"));        int bookCount = Integer.valueOf(request.getParameter("bookCount"));        try {            Class.forName("com.mysql.jdbc.Driver");            String url = "jdbc:mysql://localhost:3306/test";            Connection conn = DriverManager.getConnection(url, "root", "123456");            String sql = "update t_books set bookCount=? where id=?";            PreparedStatement ps = conn.prepareStatement(sql);            ps.setInt(1, bookCount);            ps.setInt(2, id);            ps.executeUpdate();            ps.close();            conn.close();        } catch (Exception e) {            e.printStackTrace();        }        response.sendRedirect("FindServlet");    }}



0 0
原创粉丝点击