国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java-Web前后端交互實(shí)現(xiàn)登陸注冊(附源碼)

這篇具有很好參考價(jià)值的文章主要介紹了Java-Web前后端交互實(shí)現(xiàn)登陸注冊(附源碼)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.完成用戶登錄功能。

2.完成注冊功能。

3.主體利用Maven導(dǎo)入java中的jar包,使用Servlet實(shí)現(xiàn)前后端交互,使用mybatis以及注解,mysql進(jìn)行數(shù)據(jù)保存,Tomcat服務(wù)器進(jìn)行開發(fā)。

效果圖

Java-Web前后端交互實(shí)現(xiàn)登陸注冊(附源碼)
Java-Web前后端交互實(shí)現(xiàn)登陸注冊(附源碼)

項(xiàng)目結(jié)構(gòu)

Java-Web前后端交互實(shí)現(xiàn)登陸注冊(附源碼)
Java-Web前后端交互實(shí)現(xiàn)登陸注冊(附源碼)

代碼

  1. mapper(相對應(yīng)注解)

package com.itheima.mapper;

import com.itheima.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

public interface UserMapper {
    /**
     * 用戶登陸根據(jù)用戶和密碼來查詢用戶對象
     * @param username
     * @param password
     * @return
     */
    @Select("select * from tb_user where username=#{username} and password = #{password}")
    User select(@Param("username") String username, @Param("password")String password);

    /**
     * 根據(jù)用戶名來查詢用戶是否存在
     * @param usernmae
     * @return
     */
    @Select("select * from tb_user where username=#{username}")
    User selectByUsername(String usernmae);

    /**
     * 判斷完是否存在后不存在再進(jìn)行注冊添加用戶
     * @param user
     */
    @Insert("insert into tb_user values(null,#{username},#{password})")
    void add(User user);
}
  1. pojo(實(shí)體類)

package com.itheima.pojo;

public class User {

    private Integer id;
    private String username;
    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

3.util(工具類)

package com.itheima.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

/**
 *
 * 工具類避免資源浪費(fèi)多次加載
 */
public class SqlSessionFactoryUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        String resource = "mybatis-config.xml";
        InputStream inputStream = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
        } catch (IOException e) {
            e.printStackTrace();
        }
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    }

    public static SqlSessionFactory getSqlSessionFactory() {
        return sqlSessionFactory;
    }
}

4.web(Servlet)

1.loginServlet

package com.itheima.web;

import com.itheima.mapper.UserMapper;
import com.itheima.pojo.User;
import com.itheima.util.SqlSessionFactoryUtils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 1.接收用戶名和密碼
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //2. 調(diào)用Mybatis完成查詢

        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();

        //2.2獲取SqlSession對象
        SqlSession sqlSession =sqlSessionFactory.openSession();

        //2.3獲取Mapper
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        //2.4 調(diào)用方法
        User user = userMapper.select(username, password);
        //2.5釋放資源
        sqlSession.close();
        // 獲取相對應(yīng)的輸出流 并設(shè)置content
        response.setContentType("text/html;charset=utf-8");
        PrintWriter writer = response.getWriter();
        //3.判斷user是否為null
        if (user!=null){
            //登陸成功
            writer.write("登陸成功");
        }
        else {
            //登陸失敗
            writer.write("登陸失敗");
        }
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

2.registerServlet

package com.itheima.web;

import com.itheima.mapper.UserMapper;
import com.itheima.pojo.User;
import com.itheima.util.SqlSessionFactoryUtils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.InputStream;

@WebServlet("/registerServlet")
public class registerServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.接受用戶數(shù)據(jù)
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        // 封裝用戶對象
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        // 調(diào)用Mapper,根據(jù)用戶名來查詢是否
        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();

        //2.2獲取SqlSession對象
        SqlSession sqlSession =sqlSessionFactory.openSession();

        //2.3獲取Mapper
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        //2.4 調(diào)用方法
        User u = userMapper.selectByUsername(username);

        if (u == null){
            // 用戶名不存在
            userMapper.add(user);
            // 提交事務(wù)
            sqlSession.commit();
            response.setContentType("text/html;charset=utf-8");
            response.getWriter().write("注冊成功");
        }
        else{
            // 用戶名不存在
            response.setContentType("text/html;charset=utf-8");
            response.getWriter().write("用戶已存在,注冊失敗");

        }
        // 釋放資源
        sqlSession.close();
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

5.html

1.login.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>login</title>
    <link href="css/login.css" rel="stylesheet">
</head>

<body>
<div id="loginDiv">
    <form action="/Tomcat-demo1/loginServlet" method="post" id="form">
        <h1 id="loginMsg">LOGIN IN</h1>
        <p>Username:<input id="username" name="username" type="text"></p>

        <p>Password:<input id="password" name="password" type="password"></p>

        <div id="subDiv">
            <input type="submit" class="button" value="login up">
            <input type="reset" class="button" value="reset">
            <a href="register.html">沒有賬號?點(diǎn)擊注冊</a>
        </div>
    </form>
</div>

</body>
</html>

2.register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>歡迎注冊</title>
    <link href="css/register.css" rel="stylesheet">
</head>
<body>

<div class="form-div">
    <div class="reg-content">
        <h1>歡迎注冊</h1>
        <span>已有帳號?</span> <a href="login.html">登錄</a>
    </div>
    <form id="reg-form" action="/Tomcat-demo1/registerServlet" method="post">

        <table>

            <tr>
                <td>用戶名</td>
                <td class="inputs">
                    <input name="username" type="text" id="username">
                    <br>
                    <span id="username_err" class="err_msg" style="display: none">用戶名不太受歡迎</span>
                </td>

            </tr>

            <tr>
                <td>密碼</td>
                <td class="inputs">
                    <input name="password" type="password" id="password">
                    <br>
                    <span id="password_err" class="err_msg" style="display: none">密碼格式有誤</span>
                </td>
            </tr>

        </table>

        <div class="buttons">
            <input value="注 冊" type="submit" id="reg_btn">
        </div>
        <br class="clear">
    </form>

</div>
</body>
</html>

總結(jié)

此登陸注冊界面使用Maven,Servlet,Mybatis,Mysql,Tomcat技術(shù)以及結(jié)合了html,css界面設(shè)置實(shí)現(xiàn)了前后端交互,將前端界面輸入的數(shù)據(jù)傳入到后端java中進(jìn)行處理并將數(shù)據(jù)保存在mysql數(shù)據(jù)庫之中,是個(gè)很不錯(cuò)的練手小項(xiàng)目,新入門小伙伴可以一起嘗試。

基本代碼如上所示,以上均為手敲,如需所有代碼請私信我,謝謝?。。?/span>文章來源地址http://www.zghlxwxcb.cn/news/detail-420039.html

到了這里,關(guān)于Java-Web前后端交互實(shí)現(xiàn)登陸注冊(附源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JAVA-web后端

    JAVA-web后端

    controller 只是簡單的java的一個(gè)類 java意義規(guī)范的技術(shù) servlet tomcat也稱為servlet容器 Interger age springboot會(huì)自動(dòng)類型轉(zhuǎn)換 post請求參數(shù)在請求體body from表單 x-www-form-urlencoded 中攜帶 將所有的請求參數(shù)都封裝在實(shí)體類當(dāng)中 默認(rèn)是封裝到數(shù)組,封裝到集合要加注解@RequestParam 將多個(gè)請求

    2024年04月16日
    瀏覽(19)
  • Java-Web過濾器

    Java-Web過濾器

    1.為什么需要過濾器? 2.基本介紹 3.過濾器的基本原理 1.文件目錄 2.環(huán)境配置 創(chuàng)建maven項(xiàng)目,導(dǎo)入依賴 3.代碼實(shí)現(xiàn) 1.login.jsp 2.LoginCheck.java 3.ManagerFilter.java編寫過濾規(guī)則 4.配置web.xml告訴tomcat 5.admin.jsp 1.服務(wù)器啟動(dòng) 讀取web.xml 根據(jù)全類名反射創(chuàng)建過濾器的實(shí)例,將其放在name - 實(shí)例

    2024年04月17日
    瀏覽(25)
  • Java搭配H5實(shí)現(xiàn)前后端交互評論功能

    前言 : ? ? ? ? 最近有個(gè)朋友有償讓我?guī)退麄儗⑦@個(gè)評論組件整合到他們的靜態(tài)網(wǎng)頁當(dāng)中,并實(shí)現(xiàn)數(shù)據(jù)持久化。后來他覺得太麻煩,就放棄了。盡管沒有拿到相應(yīng)的報(bào)酬,但只是花了短短的時(shí)間寫完了這個(gè)簡單功能,并有機(jī)會(huì)將其分享給大家。內(nèi)容不長,全是干貨,請擇需

    2024年04月16日
    瀏覽(16)
  • Android安卓實(shí)戰(zhàn)項(xiàng)目---登陸注冊頁面(源碼在文末)

    Android安卓實(shí)戰(zhàn)項(xiàng)目---登陸注冊頁面(源碼在文末)

    效果圖: 這段代碼是一個(gè)簡單的Android應(yīng)用中的登錄功能代碼,下面逐行解釋其功能和作用: 導(dǎo)入相關(guān)的類和包: 這些導(dǎo)入語句引入了用于構(gòu)建Android應(yīng)用界面、處理用戶交互和數(shù)據(jù)存儲(chǔ)的必要類和包。 定義一個(gè)名為 LoginActivity 的類,它繼承自 AppCompatActivity ,表示這是一個(gè)用

    2024年02月13日
    瀏覽(23)
  • JAVA_GUI之“注冊登陸界面”

    JAVA_GUI之“注冊登陸界面”

    目錄 要求 實(shí)現(xiàn)效果: 代碼: 題目描述 編寫一個(gè) GUI 登錄界面,如下圖: ???????????????????????????????? 輸入用戶名、密碼, ????????1、如果是第一次進(jìn)入該界面,請點(diǎn)擊“注冊”,自動(dòng)將用戶名和密碼存入“學(xué)號.txt”文件。然 后登陸。 ????????

    2024年02月10日
    瀏覽(17)
  • Django實(shí)現(xiàn)登陸注冊

    Django實(shí)現(xiàn)登陸注冊

    項(xiàng)目的配置都是十分基礎(chǔ)的東西,在此就不再做過多的贅述,下邊先用一張圖片了解一下,登陸注冊的具體流程 通過這張圖我們可以基本了解,登陸注冊需要的參數(shù)以及使用的一些方法,知識(shí)點(diǎn),下邊我們開始代碼部分 我們先來定義一下模型類 這里的模型類我使用了django里

    2024年02月02日
    瀏覽(17)
  • 實(shí)現(xiàn)前后端分離的登陸驗(yàn)證token思路

    在前后端完全分離的情況下,Vue項(xiàng)目中實(shí)現(xiàn)token驗(yàn)證大致思路如下: 1、第一次登錄的時(shí)候,前端調(diào)后端的登陸接口,發(fā)送用戶名和密碼 2、后端收到請求,驗(yàn)證用戶名和密碼,驗(yàn)證成功,就給前端返回一個(gè)token 3、前端拿到token,將token存儲(chǔ)到localStorage和vuex中,并跳轉(zhuǎn)路由頁面

    2024年02月03日
    瀏覽(29)
  • Python 開發(fā)實(shí)現(xiàn)登陸和注冊模塊

    Python 開發(fā)實(shí)現(xiàn)登陸和注冊模塊

    本例設(shè)計(jì)一個(gè)用戶登錄和注冊模塊,使用Tkinter框架構(gòu)建界面,主要用到畫布、文本框、按鈕等組件。涉及知識(shí)點(diǎn):Python Tkinter界面編程、pickle數(shù)據(jù)存儲(chǔ)。本例實(shí)現(xiàn)了基本的用戶登錄和注冊互動(dòng)界面,并提供用戶信息存儲(chǔ)和驗(yàn)證。 pickle是python語言的一個(gè)標(biāo)準(zhǔn)模塊,安裝python后已

    2024年04月22日
    瀏覽(28)
  • 網(wǎng)頁版Java(Spring/Spring Boot/Spring MVC)五子棋項(xiàng)目(二)前后端實(shí)現(xiàn)用戶的登錄和注冊功能【用戶模塊】

    網(wǎng)頁版Java(Spring/Spring Boot/Spring MVC)五子棋項(xiàng)目(二)前后端實(shí)現(xiàn)用戶的登錄和注冊功能【用戶模塊】

    1. 用戶id 2. 用戶名 3. 密碼 4. 天梯積分 5. 總場數(shù) 6. 獲勝場數(shù) 和數(shù)據(jù)庫的數(shù)據(jù)一一對應(yīng) 1. 連接數(shù)據(jù)庫(application.yml連接數(shù)據(jù)庫) 這個(gè)可以直接賦值代碼 2. 創(chuàng)建UserMapper的Java接口(interface UserMapper) 創(chuàng)建接口,在UserMapper.xml實(shí)現(xiàn) 在model中創(chuàng)建 需要實(shí)現(xiàn)@Mapper注釋 3. 創(chuàng)建UserMappe

    2024年02月13日
    瀏覽(23)
  • 一個(gè)簡單的前后端交互——登錄注冊頁面(升級版)idea代碼篇(2:Maven:Javaweb項(xiàng)目)使用MyBatis:Mapper,servlet+Tomcat

    一個(gè)簡單的前后端交互——登錄注冊頁面(升級版)idea代碼篇(2:Maven:Javaweb項(xiàng)目)使用MyBatis:Mapper,servlet+Tomcat

    前言:本篇前后端交互實(shí)現(xiàn)代碼 。詳細(xì)項(xiàng)目搭建見上篇 先貼一張登錄界面和包結(jié)構(gòu): ? 1.Mapper 2.pojo 3.util 4.web 5.Login.html 6.CSS 我的企業(yè)版過期了,不能演示跳轉(zhuǎn)頁面了。但測過沒問題。

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包