由于审题不清,在完成作业“servlet实现进行用户名和密码验证”中使用了jdbc连接数据库的方式实现,没用静态方式验证,故本次作业使用ssm实现

本次作业上传到百度网盘:链接:https://pan.baidu.com/s/12IIczLqaFfa94mn-tY4MHw

提取码:4q7d

一、 导入jar包

二、 搭建框架(简述)

三、使用逆向工程创建mysql数据库中相应的数据库(swpu)下的user表的对应的User.java、UserExample.java、userMapper.xml、userMapper.java

四、配置SqlSessionConfig.xml文件
              配置SqlSessionFactoryBean创建工厂对象需要的文件

五、配置applicationContext.xml文件
              配置数据库连接属性,SqlSessionFactory对象,UserMapper对象(属性注入)

六、配置web.xml
              配置编码方式(全局),配置spring前端控制器,配置spring的applicationContext.xml配置的监听器,一旦配置,监听执行

七、配置springmvc

扫描注解;使用注释方式;使用自动创建方式创建映射器和适配器;配置视图解析器

八、在com.swpu.servlet包下创建类checkLoginController,使用注解标识为@Controller
创建相应的方法,参数,返回值—实现原理为:Controller获取jsp传来的name和password,将name和password封入user对象,将user作为参数传给service层,spring根据属性注入创建usermapper对象并且执行相应的方法,验证数据库是否存在与用户名和密码匹配的,将返回值传给Controller层,进行判断,根据判断结果选择要跳转的jsp界面。

九、在serviceImpl下

十、在UserMapper.xml和UserMapper.java

十一、运行结果

  1. 当密码正确时:Console会打印姓名+密码,跳转到seccess.jsp

  2. 当密码错误或者用户不存在的时候,Console打印姓名和密码。跳转到fail.jsp

十二、经验

    1. 图片路径:在servlet跳转到jsp时,路径要写绝对路径,在加载时其相对路径发生了改变
    2. 在web.xml中一定要配置spring的applicationContext.xml配置的监听器,不然识别不了(容易忘记)
    3. xml文件要将约束文件和依赖导入。

使用ssm实现校验密码的更多相关文章

  1. Servlet校验密码之Mariadb篇

    Servlet校验密码之Mariadb篇 先放图-- 数据库: 效果图: 整体来说与上一篇差距不大,这次主要是采用数据库来进行校验,我使用的是Mariadb,安装与配置不用我说 主要有一点,导入连接器 ...

  2. js校验密码必须包含字母大小写、数字

    校验密码必须包含字母大小写.数字 function checkPasswordNew(s){ var str=trim(s); //var reg = /^(?![A-Z]+$)(?![a-z]+$) ...

  3. 时间转换,django的时间设置,re模块简单校验密码和手机号

    时间转换和密码,手机的re模块简单校验 import re,time def check_userinfo(request): pwd = request.POST.get("pwd&quo ...

  4. java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合

    一.需求:密码必须是包含大写字母.小写字母.数字.特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合 二.方案:利用正则表达式来校验 三.思路:排除法 1.排除大写字母.小写字母.数字.特殊 ...

  5. 用servlet校验密码2

    首先,mysql真的让我有点扎心,虽然安装了但是之前没用过 第一个 初始密码给我设了fj4X1=).......一长串字符,怎么记得住嘛,再说,我记那玩意儿干啥呀 所以 果断决定改个不费脑子的密码 但 ...

  6. Javascript校验密码复杂度的正则表达式

    1.密码中必须包含大小字母.数字.特称字符,至少8个字符,最多30个字符. var regex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.* ...

  7. 用servlet校验密码

    一.结果图 package Login; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connect ...

  8. js校验密码,不能为空的8-20位非纯数字或字母的密码

    jsp: <div class="mui-input-row"> <label>密码</label><!-- id='password' ...

  9. js校验密码强度

    网上转载的一段代码,留着以后用, js文件: //判断输入密码的类型 function CharMode(iN){ if (iN>=48 && iN <=57) //数字 ...

随机推荐

  1. leetcode14

    public class Solution { public string LongestCommonPrefix(string[] strs) { ) { return ""; ...

  2. IronPython Architecture

    [IronPython] IronPython is an implementation of the Python programming language written by the CLR t ...

  3. docker1.9 network跨主机安装

    背景:在跨host中,如果docker任何一个重启或者销毁,docker暴露的端口以及ip将可能重新配置,这个时候需要重新记录ip跟端口.在生产环境中往往需要一个固定的ip以及端口去跟容器通信.例如m ...

  4. Oracle 注意点大全

    1.索引 经常查询的字段.主表与从表关联主键id必须建立索引.

  5. Python编程快速上手(七)Unsplash批量下载器

    首发于个人博客:http://rhinoc.top/post/python_7.html 程序描述 V1.0输入关键字搜索图片,模拟页面下拉获取更多图片,页面加载完成后获取图片链接并下载至指定文件夹. ...

  6. for 续9

    -------siwuxie095                 for 拾遗:         一: for 语句里,do 后面一般会有括号,有括号就是复合语句, 假如需要用到括号里的变量,就需要 ...

  7. 两个链表的交叉 · Intersection of Two Linked Lists

    [抄题]: Write a program to find the node at which the intersection of two singly linked lists begins. ...

  8. 8-cin cout PK scanf printf(速度快慢问题对比)

    我们在c++ 中使用cin cout很方便但速度很慢,导致有些题目用cin就超时而用scanf则就ac了,那到底改用谁? cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说 ...

  9. 静态HTML服务器

    主要代码 #pragma once#include "pre.h"#include <thread> NAMESPACE(DEF) class Socket {publ ...

  10. DataStage 二、InfoSphere Information Server进程的启动和停止

    DataStage序列文章 DataStage 一.安装 1 关于进程需要了解的基础知识 名称 说明 ASB代理进程 通信代理程序,它的作用是协助层与层之间的通信,默认端口是31531,它以后台进程的 ...