jsp查詢修改

来源:http://www.cnblogs.com/Vito-Yan/archive/2017/07/10/7147688.html
-Advertisement-
Play Games

也是只帖代碼。。。。不講解。 1、search.jsp 2、show.jsp 3、showEdit.jsp 4、DBHelper類 5、GoodsServlet ...


也是只帖代碼。。。。不講解。

1、search.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'find.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
    <form action="goodsServlet">
        商品名:<input type="text" name="goodsName"/><br/>
        商品類型:<input type="text" name="goodsType"/><br/>
        <input type="hidden" value="findAll" name="status"/>
        <input type="submit" value="查詢"/>
    </form>
  </body>
</html>

2、show.jsp

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'show.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    
    <script type="text/javascript">
        function delGoods(no){
            window.location.href="goodsServlet?no="+no+"&status=delete&goodsName=<%=request.getParameter("goodsName")%>&goodsType=<%=request.getParameter("goodsType")%>";
        }
        
        function editGoods(no){
            window.location.href="goodsServlet?no="+no+"&status=edit&goodsName=<%=request.getParameter("goodsName")%>&goodsType=<%=request.getParameter("goodsType")%>";
        }
    </script>

  </head>
  
  <body>
    <table border="1" cellpadding="0" cellspacing="0" width="600">
        <tr>
            <td>商品編號</td>
            <td>商品名</td>
            <td>生產日期</td>
            <td>地址</td>
            <td>商品類型</td>
            <td>操作</td>
        </tr>
        
        <%
            ResultSet rs = (ResultSet)request.getAttribute("rs");
            while(rs.next()){
                %>
                <tr>
                    <td><%=rs.getString("no") %></td>
                    <td><%=rs.getString("name") %></td>
                    <td><%=rs.getString("time") %></td>
                    <td><%=rs.getString("address") %></td>
                    <td><%=rs.getString("type") %></td>
                    <td>
                        <input type="button" value="刪除" onclick="delGoods('<%=rs.getString("no") %>')"/>
                        <input type="button" value="修改" onclick="editGoods('<%=rs.getString("no") %>')"/>
                    </td>
                </tr>
                <%
            }
         %>
    </table>
  </body>
</html>

3、showEdit.jsp

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'showEdit.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

    <script type="text/javascript">
        
        function editGoodsOK(no){
            
            document.getElementById("no").value=no;
            document.getElementById("form").submit();
            
        }
    </script>

  </head>
  
  <body>
  <form action="goodsServlet" id="form">
    <table border="1" cellpadding="0" cellspacing="0" width="500">
        <tr>
            <td>商品編號</td>
            <td>商品名</td>
            <td>生產日期</td>
            <td>地址</td>
            <td>商品類型</td>
            <td>操作</td>
        </tr>
        
        <%
            ResultSet rs = (ResultSet)request.getAttribute("rs");
            while(rs.next()){
                %>
                <tr>
                    <td><input type="text" name="no" value="<%=rs.getString("no") %>" readonly="readonly"/></td>
                    <td><input type="text" name="name" value="<%=rs.getString("name") %>"/></td>
                    <td><input type="text" name="time" value="<%=rs.getString("time") %>"/></td>
                    <td><input type="text" name="address" value="<%=rs.getString("address") %>"/></td>
                    <td><input type="text" name="type" value="<%=rs.getString("type") %>"/></td>
                    <td>
                        <input type="button" value="確認修改" onclick="editGoodsOK('<%=rs.getString("no") %>')"/>
                    </td>
                </tr>
                <%
            }
         %>
         <input type="hidden" name="no" id="no"/><br/>
         <input type="hidden" name="status" value="editOK"/><br/>
         <input type="hidden" name="goodsName" value="<%=request.getParameter("goodsName")%>"/><br/>
         <input type="hidden" name="goodsType" value="<%=request.getParameter("goodsType")%>"/><br/>
    </table>
   </form>
  </body>
</html>

4、DBHelper類

package com.cn.tools;

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

/**
 * ��ȡ���ݿ���������Ӷ���?
 * �ر����ݿ�����ĸ������?
 * @author ������
 *
 */
public class DBHelper {
    private static final String className = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost:3306/jsp?characterEncoding=utf8&useSSL=true";
    private static final String uname = "root";
    private static final String upass = "211599100yxz";
    
    /**
     * ��ȡ���ݿ����Ӷ���ķ���?
     */
    public static Connection getConn(){
        Connection conn = null;
        try{
            Class.forName(className);
            conn = DriverManager.getConnection(url,uname, upass);
        } catch(Exception e){
            e.printStackTrace();
        }
        
        return conn;
    }
    
    /**
     * �ر����ݿ����Ӷ���
     */
    public static void closeConn(Connection conn){
        try{
            if(conn!=null){
                conn.close();
            }
        } catch(Exception e){
            e.printStackTrace();
        }
    }
    
    /**
     * �ر����ݿ��������?
     */
    public static void closeStmt(Statement stmt){
        try{
            if(stmt!=null){
                stmt.close();
            }
        } catch(Exception e){
            e.printStackTrace();
        }
    }

    /**
     * �ر����ݿ��������?
     */
    public static void closePstmt(PreparedStatement pstmt){
        try{
            if(pstmt!=null){
                pstmt.close();
            }
        } catch(Exception e){
            e.printStackTrace();
        }
    }
    
    /**
     * �ر����ݿ��������?
     */
    public static void closeRs(ResultSet rs){
        try{
            if(rs!=null){
                rs.close();
            }
        } catch(Exception e){
            e.printStackTrace();
        }
    }
}

5、GoodsServlet

package com.cn.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

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

import com.cn.tools.DBHelper;

public class GoodsServlet extends HttpServlet {
    
    private DBHelper db = new DBHelper();
    private Connection conn = db.getConn();
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        this.doPost(request, response);
    }

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

        String status = request.getParameter("status");
        
        if(status.equals("findAll")){
            this.findAll(request, response);
        }else if(status.equals("delete")){
            this.delete(request, response);
        }else if(status.equals("edit")){
            this.edit(request, response);
        }else if(status.equals("editOK")){
            this.editOK(request, response);
        }
        
    }
    
    /**
     * 查詢商品
     */
    
    public void findAll(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        
        
        String goodsName = request.getParameter("goodsName");
        String goodsType = request.getParameter("goodsType");
        
        ResultSet rs = null;
        try {
            Statement st = conn.createStatement();
            
            String sql = "select * from goods t where 1=1  ";
            
            if(goodsName!=null||!goodsName.equals("")){
                sql += " and t.name like '%"+goodsName+"%'";
            }
            if(goodsType!=null||!goodsType.equals("")){
                sql += " and t.type like '%"+goodsType+"%'";
            }
            
            rs = st.executeQuery(sql);
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        request.setAttribute("rs", rs);
        request.getRequestDispatcher("show.jsp").forward(request, response);
    }
    
    /**
     * 刪除商品
     */
    public void delete(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

        String no = request.getParameter("no");
        try {
            Statement st = conn.createStatement();
            st.execute("delete from goods where no='"+no+"'");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        this.findAll(request, response);
    }
    
    /**
     * 修改數據展示
     */
    public void edit(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        String no = request.getParameter("no");
        ResultSet rs = null;
        try {
            Statement st = conn.createStatement();
            rs = st.executeQuery("select * from goods where no='"+no+"'");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        request.setAttribute("rs", rs);
        request.getRequestDispatcher("showEdit.jsp").forward(request, response);
    }
    
    /** 
     * 確認修改
     */
    public void editOK(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

        String no = request.getParameter("no");
        String name = request.getParameter("name");
        String time = request.getParameter("time");
        String address = request.getParameter("address");
        String type = request.getParameter("type");
        
        try {
            Statement st = conn.createStatement();
            st.execute("update goods set name='"+name+"',time='"+time+"',address='"+address+"',type='"+type+"' where no='"+no+"'");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        this.findAll(request, response);
    }

}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 先上代碼: 測試類: 調用方法: 通過例子實踐證明得到: 1.靜態構造函數先於構造函數執行。 2.靜態構造函數只執行一次。 ...
  • 接上篇, HttpPost 請求 1、post請求,單參數 前端 var url = 'api/EnterOrExit/GetData2'; var para = {}; para["Phone"] = "phone13880825221"; para["UID"] = "uid287572292" ...
  • webapi主要的用途就是把【指定的參數】傳進【api後臺】,api接收到參數,進行【相應的業務邏輯處理】,【返回結果】。所以怎麼傳參,或者通俗的說,http請求應該怎麼請求api,api後臺應該怎麼寫,才能準確的接收到參數。 HttpGet 請求 1、get請求,單參數 前端ajax var ur ...
  • 如何使用ob函數輸出靜態html文件 1、ob函數介紹 1.1、ob_start — 打開輸出控制緩衝 bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] ) 此函數將打開輸出緩衝。當輸出緩 ...
  • ElasticSearch是一個基於Lucene的搜索伺服器。它提供了一個分散式多用戶能力的全文搜索引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可 ...
  • 1.下載apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz、pcre-8.37.tar.gz、httpd-2.4.26.tar.gz 2.將apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz、pcre-8.37.tar.gz、httpd-2.4.2 ...
  • 題目背景 割點 題目描述 給出一個n個點,m條邊的無向圖,求圖的割點。 輸入輸出格式 輸入格式: 第一行輸入n,m 下麵m行每行輸入x,y表示x到y有一條邊 輸出格式: 第一行輸出割點個數 第二行按照節點編號從小到大輸出節點,用空格隔開 輸入輸出樣例 輸入樣例#1: 6 7 1 2 1 3 1 4 ...
  • CWindowDC與CClientDC,CPaintDCC的區別 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...