亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

AJAX+JAVA用戶登陸注冊(cè)驗(yàn)證

Forelax / 3437人閱讀

摘要:需求通過異步刷新頁面驗(yàn)證用戶輸入的賬號(hào)密碼是否在數(shù)據(jù)庫中存在。下面是下查詢的代碼查詢用戶名是否存在語句連接代碼關(guān)于類關(guān)于控制層獲取到輸入的用戶名調(diào)用中的查詢方法設(shè)置字符編碼關(guān)閉資源

需求

通過ajax異步刷新頁面驗(yàn)證用戶輸入的賬號(hào)密碼是否在數(shù)據(jù)庫中存在。

技術(shù)棧

JSP+Servlet+Oracle

具體代碼

JSP部分:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    請(qǐng)輸入用戶名:
    

這里沒有用Dao層,直接用servlet和service層進(jìn)行驗(yàn)證。
下面是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();
        }
    }
}

關(guān)于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;
        }

關(guān)于控制層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);//調(diào)用service中的查詢方法
        response.setCharacterEncoding("UTF-8");//設(shè)置字符編碼
        PrintWriter out = response.getWriter();
        out.print(isUname);
        out.flush();
        out.close();//關(guān)閉資源
    }

    /**
     * @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);
    }

}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/69622.html

相關(guān)文章

  • Java3y文章目錄導(dǎo)航

    摘要:前言由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 前言 由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時(shí)間才會(huì)更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號(hào):Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡單 注解就這么簡單 Druid數(shù)據(jù)庫連接池...

    KevinYan 評(píng)論0 收藏0
  • Java EE】從零開始寫項(xiàng)目【總結(jié)】

    摘要:目前該功能并未完善,敬請(qǐng)期待。反正每次都會(huì)有新的東西補(bǔ)充上去一開始我本來想做的是可以使用微信登陸,也可以使用賬戶郵箱登陸,也可以使用短信登陸的。后來發(fā)現(xiàn)微信登陸要企業(yè)認(rèn)證,做不了。 從零開發(fā)項(xiàng)目概述 最近這一直在復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法,也就是前面發(fā)出去的排序算法八大基礎(chǔ)排序總結(jié),Java實(shí)現(xiàn)單向鏈表,棧和隊(duì)列就是這么簡單,十道簡單算法題等等... 被虐得不要不要的,即使是非常簡單有時(shí)候繞半...

    imtianx 評(píng)論0 收藏0
  • 尚學(xué)堂 react -后臺(tái)管理系統(tǒng)開發(fā)流程

    摘要:項(xiàng)目開發(fā)準(zhǔn)備描述項(xiàng)目技術(shù)選型接口接口文檔測(cè)試接口啟動(dòng)項(xiàng)目開發(fā)使用腳手架創(chuàng)建項(xiàng)目開發(fā)環(huán)境運(yùn)行生產(chǎn)環(huán)境打包運(yùn)行管理項(xiàng)目創(chuàng)建遠(yuǎn)程倉庫創(chuàng)建本地倉庫配置將本地倉庫推送到遠(yuǎn)程倉庫在本地創(chuàng)建分支并推送到遠(yuǎn)程如果本地有修改新的同事克隆倉庫如果遠(yuǎn)程修 day01 1. 項(xiàng)目開發(fā)準(zhǔn)備 1). 描述項(xiàng)目 2). 技術(shù)選型 3). API接口/接口文檔/測(cè)試接口 2. 啟動(dòng)項(xiàng)目開發(fā) 1). 使用react...

    lemon 評(píng)論0 收藏0
  • PHP 實(shí)現(xiàn)用戶注冊(cè)登錄功能

    摘要:本項(xiàng)目發(fā)布在實(shí)驗(yàn)樓,分為四部分內(nèi)容前端頁面制作,驗(yàn)證碼制作,實(shí)現(xiàn)注冊(cè)登陸,功能完善。全部章節(jié)及代碼詳解可以在實(shí)驗(yàn)樓中在線完成實(shí)現(xiàn)用戶注冊(cè)登錄功能驗(yàn)證碼制作一實(shí)驗(yàn)簡介本次實(shí)驗(yàn)將會(huì)帶領(lǐng)大家使用面向?qū)ο蟮乃枷敕庋b一個(gè)驗(yàn)證碼類。 項(xiàng)目簡介:本課程通過使用 PHP 及 Web 前端技術(shù)實(shí)現(xiàn)一個(gè)網(wǎng)站注冊(cè)登錄入口頁面,學(xué)習(xí)并實(shí)踐 PHP 編程,GD庫,MySQL 擴(kuò)展,Bootstrap 響應(yīng)式布局...

    crelaber 評(píng)論0 收藏0
  • Python入門網(wǎng)絡(luò)爬蟲之精華版

    摘要:學(xué)習(xí)網(wǎng)絡(luò)爬蟲主要分個(gè)大的版塊抓取,分析,存儲(chǔ)另外,比較常用的爬蟲框架,這里最后也詳細(xì)介紹一下。網(wǎng)絡(luò)爬蟲要做的,簡單來說,就是實(shí)現(xiàn)瀏覽器的功能。 Python學(xué)習(xí)網(wǎng)絡(luò)爬蟲主要分3個(gè)大的版塊:抓取,分析,存儲(chǔ) 另外,比較常用的爬蟲框架Scrapy,這里最后也詳細(xì)介紹一下。 首先列舉一下本人總結(jié)的相關(guān)文章,這些覆蓋了入門網(wǎng)絡(luò)爬蟲需要的基本概念和技巧:寧哥的小站-網(wǎng)絡(luò)爬蟲,當(dāng)我們?cè)跒g覽器中輸入...

    Bmob 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Forelax

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<