1. 程式人生 > >SSM 實訓筆記 -09- 使用 Spring MVC + JDBC Template 實現登入(maven)

SSM 實訓筆記 -09- 使用 Spring MVC + JDBC Template 實現登入(maven)

SSM 實訓筆記 -09- 使用 Spring MVC + JDBC Template 實現登入(maven)

本篇內容:

(1)使用 Spring MVC 替代原來的令人腦殼兒疼的 Servlet。

(2)先看下 Spring MVC 對比 Servlet 的簡化程度:

(3)專案的功能和之前一樣:

  • 登入、查詢、刪除、新增

在這裡插入圖片描述

一、建立資料庫,插入資料

(建議名稱一致)

(1)安裝 MySQL 請百度或參考:MySQL 安裝 + 入門大全 + 常用命令合集

(2)開啟 cmd ,登入 mysql 的 root 使用者,建立 studb 資料庫,建立表 tb_user :

(3)顯示錶結構,插入 3 條使用者資料:

(4)資料庫 studb,表 tb_user 建立好了。

二、建立專案、配置

(1)建立專案就不多說了,請參考:Spring 筆記 -05- 建立 Maven Web 專案 + Tomcat 及目錄結構配置

(2)上面的建立專案內容全部需要

(如果看過上一篇請不要忽略 pom 配置)

(3)配置 Maven 的 pom.xml 檔案,新增 Spring MVC 和 Spring JDBC Template 依賴:

	<!--上一篇沒有加-->
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.3.RELEASE</version> </dependency> <!--上移一篇加過 context jdbc--> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.3.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.3.RELEASE</version> </dependency>

(4)在 resources 下建立 啊 applicationContext.xml 檔案:

(5)填寫如下配置,自行修改為自己的資料庫資訊:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    

    <!--相當於 conn 資料庫資料來源-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="url" value="jdbc:mysql://localhost:3306/studb?serverTimezone=UTC"></property>
        <property name="username" value="root"></property>
        <property name="password" value="xiaopengwei"></property>
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
    </bean>

    <!--產生例項-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>

    </bean>

</beans>

(6)下面需要先做一件事,就是在 js 目錄中,引入 Bootstrap3 和 jQuery

注意:只能是 Bootstrap3 版本:

配置步驟:

  • 安裝 Node.js ,因為要使用 npm
  • 在專案中 js 目錄,右鍵 Open in Explorer 可以開啟該目錄,並複製
  • 在 cmd 進入專案的 js 目錄
  • 使用命令:
npm install bootstrap3
npm install jQuery

三、專案原始碼:

先根據目錄結構建立好專案,準備貼上程式碼。

整體專案目錄結構:

前端頁面:

後端目錄及檔案:

WEB-INF 下面的檔案的配置

(1)web.xml 檔案的配置:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>

(2)springmvc-servlet.xml 檔案:
(名稱很重要,必須以這個樣式命名,【web.xml 中的】-servlet,不然的話需要進行配置)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
       
<!--指向 UserControllor 的那個包,會自動掃描-->
<context:component-scan base-package="com.servlet"></context:component-scan>

</beans>

前端頁面原始碼:

(1)login_mvc.html 檔案:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用者登入</title>
    <link rel="stylesheet" href="js/node_modules/bootstrap3/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="js/node_modules/bootstrap3/dist/css/bootstrap-theme.css">
    <script type="text/javascript" src="js/node_modules/jquery/dist/jquery.min.js"></script>
    <script type="text/javascript">
        function login() {
            var uname = $("#uname").val();
            var upwd = $("#upwd").val();
            if (uname == null || uname == "") {
                $("#unameMsg").html("使用者名稱不能為空!");
                return;
            } else
                $("#unameMsg").html("");
            if (upwd.length == 0) {
                $("#upwdMsg").html("密碼不能為空!");
                return;
            } else
                $("#upwdMsg").html("");
            if (upwd.length < 6 || upwd.length > 12) {
                $("#upwdMsg").html("密碼應該在 6-12 位之間!");
                return;
            } else
                $("#upwdMsg").html("");
            $.ajax({
                url: "login.do",
                method: "get",
                data: $("#loginForm").serialize(),
                success: function (result) {
                    if (result == "true") {
                        // findUserInfoForAjax.html
                        window.location.href = "index.html";
                    } else {
                        $("#loginMsg").html("登入失敗,請重試!");
                    }
                },
                error: function () {
                    alert("請求伺服器失敗!");
                }
            });
        }

    </script>

</head>
<body>
<br><br>
<br><br>

<form name="loginForm" id="loginForm">
    <div class="center-block" style="width: 45%;height: 350px">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <span class="glyphicon glyphicon-apple"></span>使用者登入

            </div>
            <div class="panel-body">
                <div class="text-success" align="center">
                    <h3>歡迎使用資源統一管理系統</h3>
                </div>
                <div class="input-group">
                    <label class="input-group-addon">使用者名稱</label>
                    <input class="form-control" type="text" id="uname" name="uname" placeholder="請輸入使用者名稱">
                    <label class="input-group-addon text-warning">*</label>
                </div>
                <label id="unameMsg" style="color: red"></label><br>
                <div class="input-group">
                    <label class="input-group-addon">&nbsp;&nbsp;&nbsp;</label>
                    <input class="form-control" type="password" id="upwd" name="upwd" placeholder="請輸入密碼">
                    <label class="input-group-addon text-warning">*</label>
                </div>
                <label id="upwdMsg" style="color: red"></label><br>
                <div class="input-group">
                    <label class="input-group-addon">&nbsp;&nbsp;&nbsp;</label>
                    <select id="role" name="role" class="form-control ">
                        <option value="admin">管理員</option>
                        <option value="teacher">教師</option>
                        <option value="student">學生</option>
                    </select>
                </div>
            </div>
            <div align="center">
                <label id="loginMsg" style="color: red"></label>
                <a href="javascript:login()" class="btn btn-danger"><span
                        class="glyphicon glyphicon-log-in"></span> 登入</a>&nbsp;&nbsp;
                <a href="javascript:loginForm.reset()" class="btn btn-primary"><span
                        class="glyphicon glyphicon-remove"></span> 重置</a>
            </div>
            <br>
            <div class="panel-footer">
                <div align="center">
                    &copy;2018-2019 肖朋偉的 CSDN 部落格 Copy Right

                </div>

            </div>

        </div>

    </div>
</form>


</body>
</html>

(2)findUserInfoForAjax.html 前端展示資料頁面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>findUserInfoForAjax</title>

    <link rel="stylesheet" href="js/node_modules/bootstrap3/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="js/node_modules/bootstrap3/dist/css/bootstrap-theme.css">
    <script type="text/javascript" src="js/node_modules/jquery/dist/jquery.min.js"></script>
    <script type="text/javascript" src="js/node_modules/bootstrap3/dist/js/bootstrap.min.js"></script>
    <script>
        function addUserInfo() {
            $.post("deleteUserByIdServlet",{"uname":$("#uname").val(),"role":$("#role").val()},function (data) {
                if (data == "true"){
                    alert("新增成功!");
                    findAllUser();
                } else {
                    alert("新增失敗!");
                }
            });
        }

        function showAddModal() {
            $("#myModal").modal(
            
           

相關推薦

SSM 筆記 -09- 使用 Spring MVC + JDBC Template 實現登入maven

SSM 實訓筆記 -09- 使用 Spring MVC + JDBC Template 實現登入(maven) 本篇內容: (1)使用 Spring MVC 替代原來的令人腦殼兒疼的 Servlet。 (2)先看下 Spring MVC 對比 Servlet 的簡化程度:

SSM 筆記 -11- 使用 Spring MVC + JDBC Template 實現篩選、檢索功能maven

SSM 實訓筆記 -11- 使用 Spring MVC + JDBC Template 實現篩選、檢索功能(maven) 本篇是新建的一個數據庫,新建的一個完整專案。 本篇內容: (1)使用 Spring MVC + JDBC Template 實現資料庫查詢 (2)實現對資

SSM 筆記 -12- 開源 Spring+Spring MVC+JDBC Template 增刪改查 前期專案maven

SSM 實訓筆記 -12- 開源 Spring+Spring MVC+JDBC Template 增刪改查 前期專案(maven) 實訓前期小專案,大佬勿笑 僱員資訊管理系統 2019-01-11 專案簡介: 內容: Spring + Spring MVC

SSM 筆記 -08- 使用 Spring JDBC Template 對資料庫查詢登入和刪除maven

SSM 實訓筆記 -08- 使用 Spring JDBC Template 對資料庫查詢(登入)和刪除(maven) Spring JDBC 提供了 Spring JDBC Template,大大簡化了對資料庫的操作,其中JdbcTemplate 是最常用的,下面介紹 本篇內容:

SSM 筆記 -10- 使用 sessionStorage 儲存資料、js 圖片驗證碼、登入載入動畫

SSM 實訓筆記 -10- 使用 sessionStorage 儲存資料、js 圖片驗證碼、登入載入動畫 本篇內容: (1)在登入成功時,使用 sessionStorage 儲存使用者的使用者名稱,並在登入成功後的首頁上展示使用者名稱。 (2)js 圖片驗證碼,使用 js 和

SSM搭建-Spring mvc基於註解的配置13

        Spring2.5引入註解式處理器支援,通過@Controller和@RequestMapping註解定義我們的處理器類。並且提供了一組強大的註解需要通過處理器對映DefaultAnnotationHandlerMapping和處理器介面卡AnnotationMethodHandlerA

Spring MVC 的 研發之路

eight 對象 files tin servlet映射 資源 研發 領域 延遲 二、web.xml的簡單配置介紹1 1、啟動Web項目時,容器回去讀web.xml配置文件裏的兩個節點<context-param>和<listener

Spring MVC @RequestMapping註解詳解2

並不是 value get ecif 使用 .com java代碼 處理方法 分開 @RequestMapping 參數說明   value:定義處理方法的請求的 URL 地址。(重點)   method:定義處理方法的 http method 類型,如 GET、POST

基於Controller介面的Spring MVC控制器的Web應用

一、建立一個基於maven的web應用  1.在pom.xml檔案中匯入以下依賴 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

spring MVC——攔截器實現登入檢測和效能監控

1. 攔截器簡介 Spring MVC中的攔截器,類似於Servlet開發中的過濾器Filter,主要用來攔截使用者的請求並進行相應的處理,可以用來做日誌記錄、許可權驗證或者登陸檢測。 (1) 常見的應用場景 日誌記錄:記錄請求資訊的日誌,以便進行資訊監控、資訊統計、計

spring mvc時間String轉date

java.sql.Date和java.sql.Time以及java.sql.Timestamp三個都是java.util.Date的子類(包裝類)。 java.sql.Date是java.util

Spring MVC】深度探險SpringMVC——框架介紹

一、前言       從這篇部落格開始小編就正式向打擊介紹一下SpringMVC這個輕量級的框架,既然是輕量級自然就可以單獨使用了。也許你可能問為什麼要使用Spring MVC,Struts 2.x不

Spring MVC過濾器-委派過濾器代理DelegatingFilterProxy

org.springframework.web.filter中有一個特殊的類——DelegatingFilterProxy,該類其實並不能說是一個過濾器,它的原型是FilterToBeanProxy,即將Filter作為spring的bean,由spring來管

Spring MVC下 Excel 匯入匯出poi

Excel 匯入匯出(poi) 1、引入org.apache.poi包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>

精盡Spring MVC原始碼分析 - HandlerMapping 元件之 AbstractHandlerMapping

> 該系列文件是本人在學習 Spring MVC 的原始碼過程中總結下來的,可能對讀者不太友好,請結合我的原始碼註釋 [Spring MVC 原始碼分析 GitHub 地址](https://github.com/liu844869663/spring-framework) 進行閱讀 > > Spring

精盡Spring MVC原始碼分析 - HandlerMapping 元件之 HandlerInterceptor 攔截器

> 該系列文件是本人在學習 Spring MVC 的原始碼過程中總結下來的,可能對讀者不太友好,請結合我的原始碼註釋 [Spring MVC 原始碼分析 GitHub 地址](https://github.com/liu844869663/spring-framework) 進行閱讀 > > Spring

精盡Spring MVC原始碼分析 - HandlerMapping 元件之 AbstractHandlerMethodMapping

> 該系列文件是本人在學習 Spring MVC 的原始碼過程中總結下來的,可能對讀者不太友好,請結合我的原始碼註釋 [Spring MVC 原始碼分析 GitHub 地址](https://github.com/liu844869663/spring-framework) 進行閱讀 > > Spring

精盡Spring MVC原始碼分析 - HandlerMapping 元件之 AbstractUrlHandlerMapping

> 該系列文件是本人在學習 Spring MVC 的原始碼過程中總結下來的,可能對讀者不太友好,請結合我的原始碼註釋 [Spring MVC 原始碼分析 GitHub 地址](https://github.com/liu844869663/spring-framework) 進行閱讀 > > Spring

精盡Spring MVC原始碼分析 - HandlerAdapter 元件之 HandlerAdapter

> 該系列文件是本人在學習 Spring MVC 的原始碼過程中總結下來的,可能對讀者不太友好,請結合我的原始碼註釋 [Spring MVC 原始碼分析 GitHub 地址](https://github.com/liu844869663/spring-framework) 進行閱讀 > > Spring

精盡Spring MVC原始碼分析 - HandlerAdapter 元件之 ServletInvocableHandlerMethod

> 該系列文件是本人在學習 Spring MVC 的原始碼過程中總結下來的,可能對讀者不太友好,請結合我的原始碼註釋 [Spring MVC 原始碼分析 GitHub 地址](https://github.com/liu844869663/spring-framework) 進行閱讀 > > Spring