後臺與資料庫的互動
最近剛剛完成資料庫與後臺的交接,下面來寫寫體會與經驗吧。
後臺和資料庫是什麼呢?
通俗的講,後臺指的是伺服器,資料庫是伺服器端用來存放資料的;使用者通過前臺操作,資料傳遞到伺服器端,伺服器上的程式操作資料庫,處理資料;處理完畢,反饋結果,或者資料給前臺,顯示資料或結果。
舉個例子:
簡單的使用者登入頁面與後臺資料庫的互動
當用戶登入時,如果使用者名稱和密碼都正確的時候會進入成功頁面。在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表單的侷限性,所以在很多情況下是不使用的!由於