使用ssm实现校验密码
由于审题不清,在完成作业“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


十一、运行结果
- 当密码正确时:Console会打印姓名+密码,跳转到seccess.jsp

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

十二、经验
- 图片路径:在servlet跳转到jsp时,路径要写绝对路径,在加载时其相对路径发生了改变
- 在web.xml中一定要配置spring的applicationContext.xml配置的监听器,不然识别不了(容易忘记)
- xml文件要将约束文件和依赖导入。
使用ssm实现校验密码的更多相关文章
- Servlet校验密码之Mariadb篇
Servlet校验密码之Mariadb篇 先放图-- 数据库: 效果图: 整体来说与上一篇差距不大,这次主要是采用数据库来进行校验,我使用的是Mariadb,安装与配置不用我说 主要有一点,导入连接器 ...
- js校验密码必须包含字母大小写、数字
校验密码必须包含字母大小写.数字 function checkPasswordNew(s){ var str=trim(s); //var reg = /^(?![A-Z]+$)(?![a-z]+$) ...
- 时间转换,django的时间设置,re模块简单校验密码和手机号
时间转换和密码,手机的re模块简单校验 import re,time def check_userinfo(request): pwd = request.POST.get("pwd&quo ...
- java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合
一.需求:密码必须是包含大写字母.小写字母.数字.特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合 二.方案:利用正则表达式来校验 三.思路:排除法 1.排除大写字母.小写字母.数字.特殊 ...
- 用servlet校验密码2
首先,mysql真的让我有点扎心,虽然安装了但是之前没用过 第一个 初始密码给我设了fj4X1=).......一长串字符,怎么记得住嘛,再说,我记那玩意儿干啥呀 所以 果断决定改个不费脑子的密码 但 ...
- Javascript校验密码复杂度的正则表达式
1.密码中必须包含大小字母.数字.特称字符,至少8个字符,最多30个字符. var regex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.* ...
- 用servlet校验密码
一.结果图 package Login; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connect ...
- js校验密码,不能为空的8-20位非纯数字或字母的密码
jsp: <div class="mui-input-row"> <label>密码</label><!-- id='password' ...
- js校验密码强度
网上转载的一段代码,留着以后用, js文件: //判断输入密码的类型 function CharMode(iN){ if (iN>=48 && iN <=57) //数字 ...
随机推荐
- 好记性不如烂笔头-linux学习笔记4apache相关知识
apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 比较好,效率高,但是吃的内存比较大. 2 如果是高负载高并发 ...
- Basic64 编码解码
import sun.misc.BASE64Decoder; public class Base64 { /** * 字符串转Base64编码 * @param s * @return */ publ ...
- leetcode103
class Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector&l ...
- 下拉菜单的实现classList.add() classList.remove() class属性的添加和删除
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【python 】Requests 库学习笔记
概览 实例引入 import requests response = requests.get('https://www.baidu.com/') print(type(response)) prin ...
- 【320】Python 2.x 与 3.x 的区别
通过代码移植的报错进行梳理! 1. print 函数的区别 Python 2.x 中可以加空格或者括号,但是 Python 3.x 只能是括号的 # Python 2.x >>> p ...
- awk编程基础
一.awk介绍 awk(名字来源于三个创始人姓氏首字母)是linux系统下文本编辑工具,是一门编程语言,有自己的基本语法和流程控制.函数.awk简单高效. 二.awk的运行方法 例子:使用冒号:分 ...
- Eclipse 安装PyDev开发Python及初步使用
Eclipse 安装PyDev插件后可开发Python 参考网址:https://blog.csdn.net/wscdylzjy/article/details/44066977 具体请参考上述网址, ...
- python多线程与线程
进程与线程的概念 进程 考虑一个场景:浏览器,网易云音乐以及notepad++ 三个软件只能顺序执行是怎样一种场景呢?另外,假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I ...
- Levenshtein计算相似度距离
使用Levenshtein计算相似度距离,装下模块,调用下函数就好. 拿idf还得自己去算权重,而且不一定准确度高,一般做idf还得做词性归一化,把动词形容词什么全部转成名词,很麻烦. Levensh ...