ssm java修改密码代码_使用ssm实现校验密码

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

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

提取码:4q7d

一、 导入jar包

be35af609dc6a096ab0f738b971c7b1b.png

d222765fbe1e4ca2cf4474aa993a4b5a.png

二、 搭建框架(简述)

a33f84d1261cfdc270b83a3e433f9c62.png

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

396a5c53d892bad4116b0e6e0469ccc6.png

四、配置SqlSessionConfig.xml文件

配置SqlSessionFactoryBean创建工厂对象需要的文件

f3d591364417a5767f51f7e2b8af2d8e.png

五、配置applicationContext.xml文件

配置数据库连接属性,SqlSessionFactory对象,UserMapper对象(属性注入)

943b9ef2e47401cd75ee372ede82f96f.png

六、配置web.xml

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

c13afc6fc00ca52ec573cc60e128e5ac.png

七、配置springmvc

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

b01ab13efe0686ac3451150c1bc87543.png

八、在com.swpu.servlet包下创建类checkLoginController,使用注解标识为@Controller

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

3d880d265c42d1f442656aa06bc2188c.png

九、在serviceImpl下

e08b9e792bed2d7395698b890da8f27b.png

十、在UserMapper.xml和UserMapper.java

e51d1d53341faaabdb881f2c4542bc38.png

02016144f0e10578fa52f90caf777d47.png

十一、运行结果

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

599d8b336473247af417b62c8e4ba035.png

4ce4b6409a481ab975b6a3df861f72c9.png

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

a612241a0ea070f52d9f4e426d66370d.png

da26886f79655e3a41e3a12d74d944c1.png

十二、经验

图片路径:在servlet跳转到jsp时,路径要写绝对路径,在加载时其相对路径发生了改变

在web.xml中一定要配置spring的applicationContext.xml配置的监听器,不然识别不了(容易忘记)

xml文件要将约束文件和依赖导入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
以下是一个简单的示例代码: 1. 在登录页面添加一个下拉框或单选框,让用户选择使用卡号或用户名登录: ```html <form method="post" action="/login"> <label for="loginType">登录方式:</label> <select id="loginType" name="loginType"> <option value="card">卡号登录</option> <option value="username">用户名登录</option> </select> <br> <label for="userId">用户ID:</label> <input type="text" id="userId" name="userId"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <input type="submit" value="登录"> </form> ``` 2. 在Spring MVC的Controller中处理登录请求: ```java @Controller public class LoginController { @Autowired private UserService userService; @RequestMapping(value = "/login", method = RequestMethod.POST) public String login(@RequestParam("loginType") String loginType, @RequestParam("userId") String userId, @RequestParam("password") String password, HttpSession session) { User user = null; if ("card".equals(loginType)) { // 根据卡号查询用户信息 user = userService.getUserByCard(userId); } else if ("username".equals(loginType)) { // 根据用户名查询用户信息 user = userService.getUserByUsername(userId); } if (user != null && user.getPassword().equals(password)) { // 登录成功,将用户信息存入Session session.setAttribute("user", user); return "redirect:/index"; } else { // 登录失败,返回登录页面 return "login"; } } } ``` 3. 在Service层中实现根据卡号或用户名查询用户信息的方法: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Override public User getUserByCard(String card) { return userDao.getUserByCard(card); } @Override public User getUserByUsername(String username) { return userDao.getUserByUsername(username); } } ``` 4. 在MyBatis的Mapper中编写查询用户信息的SQL语句: ```xml <mapper namespace="com.example.dao.UserDao"> <select id="getUserByCard" parameterType="string" resultType="com.example.entity.User"> SELECT * FROM user WHERE card = #{card} </select> <select id="getUserByUsername" parameterType="string" resultType="com.example.entity.User"> SELECT * FROM user WHERE username = #{username} </select> </mapper> ``` 注意,在实际开发中,还需要对输入的卡号、用户名和密码进行校验,防止SQL注入等安全问题。同时,还需要实现注册、修改密码等功能。以上代码仅供参考,具体实现需要根据具体业务场景进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值