摘要:需求通過異步刷新頁面驗證用戶輸入的賬號密碼是否在數據庫中存在。下面是下查詢的代碼查詢用戶名是否存在語句連接代碼關于類關于控制層獲取到輸入的用戶名調用中的查詢方法設置字符編碼關閉資源
需求
通過ajax異步刷新頁面驗證用戶輸入的賬號密碼是否在數據庫中存在。
技術棧JSP+Servlet+Oracle
具體代碼JSP部分:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Insert title here 請輸入用戶名:
這里沒有用Dao層,直接用servlet和service層進行驗證。
下面是service下JDBC查詢的代碼:
import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.stx.service.User; import com.stx.service.ConnectionManager; public class ajaxService { public boolean searchUser (String uname) { //jdbc查詢用戶名是否存在 boolean isFalse = false; Connection connection = null; Statement stmt = null; ResultSet rs = null; connection = ConnectionManager.getConnection(); try { stmt = connection.createStatement(); String sql = "select * from user_b where uname=""+uname+""";//sql語句 rs = stmt.executeQuery(sql); isFalse=rs.next(); } catch (SQLException e) { e.printStackTrace(); } finally { ConnectionManager.closeResultSet(rs); ConnectionManager.closeStatement(stmt); ConnectionManager.closeConnection(connection); } return isFalse; } }
JDBC連接代碼:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ConnectionManager { private final static String DRIVER_CLASS = "oracle.jdbc.OracleDriver"; private final static String URL = "jdbc:oracle:thin:@localhost:1521:orcl"; private final static String DBNAME = "ibook"; private final static String PASSWORD = "qwer"; public static Connection getConnection() { Connection connection = null; try { Class.forName(DRIVER_CLASS); connection = DriverManager.getConnection(URL, DBNAME, PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } public static void closeResultSet(ResultSet rs) { try { if (rs != null) rs.close(); } catch (SQLException e) { e.printStackTrace(); } } public static void closeConnection(Connection connection) { try { if (connection != null && !connection.isClosed()) connection.close(); } catch (SQLException e) { e.printStackTrace(); } } public static void closeStatement(Statement stmt) { try { if (stmt != null) stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } }
關于user類:
public class User { private String uname; public User() { super(); } public User(String uname) { super(); this.uname = uname; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; }
關于控制層servlet:
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.stx.service.ajaxService; /** * Servlet implementation class loginServlet */ public class loginServlet extends HttpServlet { private static final long serialVersionUID = 1L; private ajaxService ajaxService = new ajaxService(); /** * @see HttpServlet#HttpServlet() */ public loginServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String uname = request.getParameter("uname");//獲取到輸入的用戶名 boolean isUname = ajaxService.searchUser(uname);//調用service中的查詢方法 response.setCharacterEncoding("UTF-8");//設置字符編碼 PrintWriter out = response.getWriter(); out.print(isUname); out.flush(); out.close();//關閉資源 } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69622.html
摘要:前言由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 前言 由于寫的文章已經是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導航哦~想要獲取最新原創的技術文章歡迎關注我的公眾號:Java3y Java3y文章目錄導航 Java基礎 泛型就這么簡單 注解就這么簡單 Druid數據庫連接池...
摘要:目前該功能并未完善,敬請期待。反正每次都會有新的東西補充上去一開始我本來想做的是可以使用微信登陸,也可以使用賬戶郵箱登陸,也可以使用短信登陸的。后來發現微信登陸要企業認證,做不了。 從零開發項目概述 最近這一直在復習數據結構和算法,也就是前面發出去的排序算法八大基礎排序總結,Java實現單向鏈表,棧和隊列就是這么簡單,十道簡單算法題等等... 被虐得不要不要的,即使是非常簡單有時候繞半...
摘要:項目開發準備描述項目技術選型接口接口文檔測試接口啟動項目開發使用腳手架創建項目開發環境運行生產環境打包運行管理項目創建遠程倉庫創建本地倉庫配置將本地倉庫推送到遠程倉庫在本地創建分支并推送到遠程如果本地有修改新的同事克隆倉庫如果遠程修 day01 1. 項目開發準備 1). 描述項目 2). 技術選型 3). API接口/接口文檔/測試接口 2. 啟動項目開發 1). 使用react...
摘要:本項目發布在實驗樓,分為四部分內容前端頁面制作,驗證碼制作,實現注冊登陸,功能完善。全部章節及代碼詳解可以在實驗樓中在線完成實現用戶注冊登錄功能驗證碼制作一實驗簡介本次實驗將會帶領大家使用面向對象的思想封裝一個驗證碼類。 項目簡介:本課程通過使用 PHP 及 Web 前端技術實現一個網站注冊登錄入口頁面,學習并實踐 PHP 編程,GD庫,MySQL 擴展,Bootstrap 響應式布局...
摘要:學習網絡爬蟲主要分個大的版塊抓取,分析,存儲另外,比較常用的爬蟲框架,這里最后也詳細介紹一下。網絡爬蟲要做的,簡單來說,就是實現瀏覽器的功能。 Python學習網絡爬蟲主要分3個大的版塊:抓取,分析,存儲 另外,比較常用的爬蟲框架Scrapy,這里最后也詳細介紹一下。 首先列舉一下本人總結的相關文章,這些覆蓋了入門網絡爬蟲需要的基本概念和技巧:寧哥的小站-網絡爬蟲,當我們在瀏覽器中輸入...
閱讀 1249·2023-04-26 02:38
閱讀 928·2023-04-25 20:13
閱讀 3589·2021-11-19 11:31
閱讀 2396·2019-08-30 15:55
閱讀 2717·2019-08-30 14:11
閱讀 3157·2019-08-30 13:45
閱讀 1371·2019-08-29 18:41
閱讀 1147·2019-08-29 16:18