1. 程式人生 > >後臺與資料庫的互動

後臺與資料庫的互動

最近剛剛完成資料庫與後臺的交接,下面來寫寫體會與經驗吧。

後臺和資料庫是什麼呢?

通俗的講,後臺指的是伺服器,資料庫是伺服器端用來存放資料的;使用者通過前臺操作,資料傳遞到伺服器端,伺服器上的程式操作資料庫,處理資料;處理完畢,反饋結果,或者資料給前臺,顯示資料或結果。

舉個例子:

簡單的使用者登入頁面與後臺資料庫的互動

當用戶登入時,如果使用者名稱和密碼都正確的時候會進入成功頁面。在validate.jsp裡會先獲得使用者名稱,然後再資料裡查詢此使用者名稱是否已經存在,若存在則再與所對應的密碼進行對比,若都相同則返回flag為2,成功登入,若使用者名稱存在而密碼不正確,則返回flag為1,提示密碼錯誤;若在資料庫裡找不到對應的使用者名稱,則返回flag為0,提示使用者名稱錯誤。

login.jsp

<body>
    <form action="validate.jsp" method="post">
    <table>
        <tr>
            <td>使用者名稱:</td>
            <td><input type="text" name="loginName"></td>
            <td><font color="red"><%=request.getAttribute("loginNameError")==null ? "":request.getAttribute("loginNameError") %></font></td>
        </tr>
        <tr>
            <td> 密碼:</td>
            <td><input type="password" name="loginPass"></td>
            <td><font color="red"><%=request.getAttribute("loginPassError")==null?"":request.getAttribute("loginPassError") %></font></td>
        </tr>
        <tr>
            <td><input type="submit" value="提交"></td>
            <td><input type="reset" value="重置"></td>
        </tr>
     </table>
    </form>
</body>

validate.jsp

<body>
   <%
    String loginName=request.getParameter("loginName");
    String loginPass=request.getParameter("loginPass");

    User user=new User();
    user.setUsername(loginName);
    user.setPassword(loginPass);

    LoginDao loginDao=new LoginDaoImpl();
    int flag=loginDao.login(user);
    if(flag==2){
        session.setAttribute("loginName", loginName);
        response.sendRedirect(request.getContextPath()+"/index.jsp");
    }else {
        if(flag==1){
            request.setAttribute("loginPassError", "loginPass is error");
        }else if(flag==0){
            request.setAttribute("loginNameError", "loginName is error");
        }
        request.getRequestDispatcher("/login.jsp").forward(request, response);
    }
    %>
  </body>

//編寫一個介面,只定義方法,具體實現讓實現它的介面去完成。
LoginDao.java

package com.dao.dao;

import com.jdbc.jdbc.User;

public interface LoginDao {
    int login(User user);
}

//實現介面的類,實現了具體的操作
LoginDaoImpl.java

package com.impls.impls;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.jdbc.common.ConnectionUtils;
import com.dao.dao.LoginDao;
import com.jdbc.jdbc.User;

public class LoginDaoImpl implements LoginDao{
    Connection con=null;
    PreparedStatement pstm=null;
    ResultSet rs=null;

    public int login(User user) {
        //連線資料庫
        con=ConnectionUtils.getConnection();
        int flag=0;
        try {
            //傳送sql文
            String sql="select t_name,t_pass from t_user where t_name=?";
            pstm=con.prepareStatement(sql);
            pstm.setString(1, user.getUsername());
            rs=pstm.executeQuery();
            //處理結果集
            while(rs.next()){
                String temp=rs.getString("t_pass");
                if(temp.equals(user.getPassword())){
                    flag=2; //使用者名稱和密碼都正確
                }else{
                    flag=1;//密碼錯誤
                }

            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            //資源釋放(逆序釋放)
            ConnectionUtils.close(rs, pstm, con);   
        }   
        return flag;
    }
}

相關推薦

後臺資料庫互動

最近剛剛完成資料庫與後臺的交接,下面來寫寫體會與經驗吧。 後臺和資料庫是什麼呢? 通俗的講,後臺指的是伺服器,資料庫是伺服器端用來存放資料的;使用者通過前臺操作,資料傳遞到伺服器端,伺服器上的程式操作資料庫,處理資料;處理完畢,反饋結果,或者資料給前臺,顯示資料

【劉文彬】EOS技術研究:合約資料庫互動

原文連結:醒者呆的部落格園,https://www.cnblogs.com/Evsward/p/multi_index.html 智慧合約操作鏈資料庫是很常見的應用場景。EOS提供了專門的工具來做這件事(相當於Ethereum的leveldb),專業術語叫做持久化API,本文將完

Mybatis的開發方式(Mybatis資料庫互動方式)

Mybatis工具類 public class MybatisUtil { static SqlSessionFactory sqlSessionFactory; static { String resource = "mybatis-config.xml

DAOMySQLi類,方便資料庫互動

<?php final class DAOMySQLi { //將 <成員屬性> 以 _ 開頭是一種命名風格 private $_host; private $_user; private $_pwd;

實現antd下拉框動態新增內容(資料庫互動

antd下拉控制元件的動態內容新增(與資料庫互動) antd這個框架給開發帶來了極大的方便,但同時,我認為還有一些不方便的地方:常用的邏輯在文件中沒有體現。需要前端開發經驗的人才能快速上手,而我剛剛接觸這個東西,antd基本將所有常用的控制元件全都封裝了,包括select下拉框,在以往的開發當中,我常常將下

spring-boot入門(四)資料庫互動

package com.foo.configura; import org.apache.tomcat.jdbc.pool.DataSource; import org.hibernate.SessionFactory; import org.springframework.beans.factory.an

Django檢視,資料庫互動並返回資料

環境:python 2.7.13  資料庫:sqlite3(Django自帶)   在學習Django的時候,遇到了困難。大概就是取到資料庫資料後一直不能轉成json資料。最後終於自己琢磨解決了。 要點就是在通過Django API與sqlite資料庫做互動時,要看清楚返回

servlet示例四:資料庫互動

背景:學生基本資訊管理系統中,要求輸出學生的基本資訊情況。 更合理地完成任務需要做到以下三點: 1.建立Students類儲存所有的學生資訊(我把該類專門放在了adn.entities包內)

基於JFinal的實現echart資料庫互動

使用echart時,經常會用於顯示資料庫中的資料,但官方給的demo中的資料都是寫死的,沒有與資料庫互動。實現了一下與資料庫的互動,大致流程如下: 1.前端部分 新建html檔案,引入echart的

SODBASE CEP學習(十六):CEP資料庫互動

一些時候出於專案需求或複用,需要將CEP和資料庫結合起來用。SODBASE CEP可以很好地支援這型別需求。本文將介紹CEP與資料庫互動的兩種常用方式。 1. 示例操作 (1)為示例操作簡單,下載Oracle Express Edition (11g) Windows版,

將前臺日期格式轉成資料庫日期格式相對應,後臺java轉資料庫日期格式

前臺到後臺java時data日期型別的轉化 在實體類中用@DataTimeFormat,這樣設定即使傳過來是空的字串也是可以轉的,要和前面傳過來的格式一致,如 @XmlElement(name="BeginDate") @DateTimeFormat(pattern="yyyy-MM-dd")

node入門demo-Ajax讓前端angularjs/jquery後臺node.js互動,技術支援:mysql+html+angularjs/jquery

只貼出關鍵程式碼,具體的基礎配置,在dos視窗中鍵入express -e phone,會自動幫我們設定好app.js的配置 為了讓nodejs可以渲染html頁面,在dos視窗中鍵入npm install ejs --save,會自動幫ejs的相關配置下載如node_modules資料

MySql資料庫python互動型別(十)

與python互動簡介 在熟練使用sql語句的基礎上,開始使用python語言提供的模組與mysql進行互動 這是我們在工作中大事要做的事 先學會sql是基礎,一定要熟練編寫sql語句 安裝引入模

MySql資料庫python互動使用者登入(十三)

例項:使用者登入 建立使用者表userinfos 表結構如下 id uname upwd isdelete 注意:需要對密碼進行加密 如果使用md5加密,則密碼包含32個字元

SpringBoot整合Druid資料來源並監控程式資料庫資源互動情況

Druid是Java語言中最好的資料庫連線池,並且能夠提供強大的監控和擴充套件功能。(Druid可以幫我們時時監控程式與資料庫的互動情況) SpringBoot整合Druid使用步驟: 1. 新建一個Springboot專案後(或者在現有的springboo

Java後臺微信公眾號互動----接收並處理微信客戶端傳送的請求

還是一樣,理論就不說了,直接上程式碼! 在進行這個操作之前,必須得與微信客戶端進行比對成功才行,具體可參考上一篇部落格。 doGet()是上一篇部落格已經說了的,在這裡就不詳細說了。 public class WeChatServlet extends HttpServlet { /

Java後臺微信公眾號互動

理論就不說了,直接上程式碼。 下面是一個比對微信伺服器傳送過來的請求的工具類,前提是得匯入一個jar包,commons-codec-1.9.jar,我用的是1.9的版本,直接去網上下載即可。 下載連結:http://central.maven.org/maven2/commons-codec

如何用mybatis資料庫之間進行互動

如何使用Mybatis連線數庫 簡介   使用Mybatis連線資料庫,使用Mybatis 建立一個工作空間,建立工程 一、  配置環境 1、      開啟工程pom.xml配置檔案,配置資訊 如下 2、 

mybatis資料庫的兩種互動方式

這篇文章直接上核心程式碼:service層和controller層基本一樣,不需要改變什麼,只是dao層和xml配置檔案關於和資料庫互動這塊有些許不同。。 1.使用傳統的MyBatis提供的API。 spring----xml檔案: <!-- sqlSessinFa

如何封裝AJAX請求,這樣方便後臺做請求互動

最近在實習的過程中,寫了很多的AJAX請求,由於開發的是CRM系統,所以很多的東西需要與後臺進行請求,所以在前臺頁面少不了要寫很多的AJAX,因為form表單的侷限性,所以在很多情況下是不使用的!由於