由于审题不清,在完成作业“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. 好记性不如烂笔头-linux学习笔记4apache相关知识

    apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 比较好,效率高,但是吃的内存比较大. 2 如果是高负载高并发 ...

  2. Basic64 编码解码

    import sun.misc.BASE64Decoder; public class Base64 { /** * 字符串转Base64编码 * @param s * @return */ publ ...

  3. leetcode103

    class Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector&l ...

  4. 下拉菜单的实现classList.add() classList.remove() class属性的添加和删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 【python 】Requests 库学习笔记

    概览 实例引入 import requests response = requests.get('https://www.baidu.com/') print(type(response)) prin ...

  6. 【320】Python 2.x 与 3.x 的区别

    通过代码移植的报错进行梳理! 1. print 函数的区别 Python 2.x 中可以加空格或者括号,但是 Python 3.x 只能是括号的 # Python 2.x >>> p ...

  7. awk编程基础

    一.awk介绍 awk(名字来源于三个创始人姓氏首字母)是linux系统下文本编辑工具,是一门编程语言,有自己的基本语法和流程控制.函数.awk简单高效.   二.awk的运行方法 例子:使用冒号:分 ...

  8. Eclipse 安装PyDev开发Python及初步使用

    Eclipse 安装PyDev插件后可开发Python 参考网址:https://blog.csdn.net/wscdylzjy/article/details/44066977 具体请参考上述网址, ...

  9. python多线程与线程

    进程与线程的概念 进程 考虑一个场景:浏览器,网易云音乐以及notepad++ 三个软件只能顺序执行是怎样一种场景呢?另外,假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I ...

  10. Levenshtein计算相似度距离

    使用Levenshtein计算相似度距离,装下模块,调用下函数就好. 拿idf还得自己去算权重,而且不一定准确度高,一般做idf还得做词性归一化,把动词形容词什么全部转成名词,很麻烦. Levensh ...