使用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) //数字 ...
随机推荐
- C# 二元一次方程参数求解
本文记录了关于求直线斜率及纵截距值的简单方法,只是简单的记录下求解思路,最终还需根据具体项目进行优化. 设直线方程式为:y=kx+b 编程思想: 1.代入y1与x1的值,得到:y1=kx1+b 2.代 ...
- apache 搭建PHP多站点
修改apache 配置文件:httpd.conf 1.默认 Listen 80端口 2.添加配置如下: <VirtualHost *:80> ServerAdmin admin@yii.c ...
- msxml3.dll 执行页内操作时的错误
msxml3.dll 执行页内操作时的错误 regsvr32 msxml3.dll报错
- C#抽象类与接口的区别【转】
一.抽象类: 抽象类是特殊的类,只是不能被实例化(可以用派生类实例化基类对象):除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法(当然它可以有普通方法),这是普通类所不能的.抽象方 ...
- Go Methods and Interfaces
[Go Methods and Interfaces] 1.Go does not have classes. However, you can define methods on struct ty ...
- 今天无意中发现的WWW.threadPriority
WWW.threadPriority Description Priority of AssetBundle decompression thread. You can control dec ...
- Python 入门学习(壹)上机时间提醒
基于 Udacity 的 Python 入门课程 Programming Foundations with Python 基于 Python 2.7 控制台版本 思路 Project 1 是一个时间提 ...
- [udemy]WebDevelopment_CSS
Your First CSS(Cascading Style Sheets) Cascading means it always takes selector that is at the end 即 ...
- Gcc And MakeFile Level1
简单介绍gcc And make 的使用 基本编译 gcc a.c b.c -o exeName 分步编译 gcc -c a.c -o a.o gcc a.o b.c -o main.o 使用Make ...
- curl传post数据流