四、利用ssm进行登录和注册
来源:互联网 发布:淘宝上种草是什么意思 编辑:程序博客网 时间:2024/06/05 15:17
依旧是转载~不过我会加上一些细节方面的修改,有些细节需要自己去摸索(http://blog.csdn.net/lxfHaHaHa/article/details/70142871)
1)准备工作
如果你是跟着上一篇博客来的,那么就已经创建好了那三个自己添加的查询语句(http://blog.csdn.net/zyf2333/article/details/77709466),接下来做下准备工作:
首先添加如下目录(框起来的部分)。说明一下:zcController是控制器,UserService具体实现了UserMapper.java中的方法。然后在views文件夹下创建一个文件夹,里面三个文件分别对应着 登录,登录成功,注册 页面
接下来修改下web.xml,修改成如图所示。说明:此处修改后,我们再运行Tomcat7,就会令这个dl.jsp是默认页面,就可以直接进入登录页面。这里先看看最终效果的url
注意到此处的url就是localhost:8080,而不包含其他路径
2)代码
1、jsp文件的代码
dl.jsp(此处我们用了js来判断登录情况,<script>
中的#{result}标签在zcController中设置,通过传入的参数来进行判断)
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body><form id="zc" action="/zyf/dl" method="post"> <label for="name">用户名:</label> <input type="text" required id="name" name="name"><br> <label for="pw">密码:</label> <input type="password" required id="pw" name="pw"><br> <input type="submit" value="登录"> <input type="button" value="注册" onclick="location.href='/zyf/zc'"></form><p>反馈信息:${result}</p></body><script> //对应后台返回的提示 if ('${result}' != '') { if ('${result}' == 0) alert('该账户不存在!') if ('${result}' == 1) alert('密码错误!') if ('${result}' == 2) { alert('登录成功!') location.href = '/zyf/userInfo' } }</script></html>
zc.jsp(也是通过Controller来进行判断注册状况)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body><form id="zc" action="/zyf/zc" method="post"> <label for="name"> 用户名: </label> <input type="text" required id="name" name="name"><br> <label for="pw"> 密码: </label> <input type="password" required id="pw" name="pw"><br> 性别: <input type="radio" required value="0" name="sex">男 <input type="radio" value="1" required name="sex">女<br> <input type="submit" value="注册"> <input type="reset" value="重置"/></form></body><script> //对应后台返回的提示 if ('${result}' != '') { if ('${result}' == 1) { alert('注册成功,将跳转到登录页面!') location.href = '/zyf/dl' } if ('${result}' == 0) { alert('未知错误,注册失败!') } if ('${result}' == 2) { alert('该账号已有人注册!') } }</script></html>
userInfo.jsp(成功页面)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body>欢迎</body></html>
2、UserService.java
这个类一般写法是implements UserMapper,然后实现它的抽象方法。但是此处我们用了自动注入,效果一样(记得类开头标上@Service,不然Spring无法识别这个bean,运行会失败!)
package com.springmvc.service;import com.springmvc.dao.UserMapper;import com.springmvc.entity.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.ArrayList;/** * Created by 邹一凡 on 2017/8/29. */@Servicepublic class UserService { @Autowired private UserMapper userMapper; public int insert(User user) { return userMapper.insertSelective(user); } int deleteByPrimaryKey(Integer id) { return userMapper.deleteByPrimaryKey(id); } User selectByPrimaryKey(Integer id) { return userMapper.selectByPrimaryKey(id); } int updateByPrimaryKeySelective(User record) { return userMapper.updateByPrimaryKeySelective(record); } int updateByPrimaryKey(User record) { return userMapper.updateByPrimaryKey(record); } int getCount() { return userMapper.getCount(); } public ArrayList<User> selectSelective(User record) { return userMapper.selectSelective(record); } public ArrayList<User> selectLike(User record) { return userMapper.selectLike(record); }}
3、zcController.java(在这里进行逻辑判断,并决定要跳到哪个页面去)
package com.springmvc.controller;import com.springmvc.entity.User;import com.springmvc.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import sun.security.provider.MD5;import javax.servlet.http.HttpSession;import java.util.ArrayList;import java.util.Date;import java.util.List;/** * Created by 邹一凡 on 2017/8/30. */@Controllerpublic class zcController { @Autowired private UserService userService; //注册 @RequestMapping(value = "/zyf/zc",method = RequestMethod.GET) public String toZhuce(){ return "zyf/zc"; } @RequestMapping(value = "/zyf/zc",method = RequestMethod.POST) public String insertUser(@ModelAttribute User user, Model model){ User record=new User(); record.setName(user.getName()); List<User> list=userService.selectSelective(record); if(list.size()==0){ user.setCreatetime(new Date()); user.setPw(user.getPw()); if(userService.insert(user)==1) model.addAttribute("result",1);//注册成功 else model.addAttribute("result",0);//注册失败 } else model.addAttribute("result",2);//已有人注册 return "zyf/zc"; } //登录 @RequestMapping(value = "/zyf/dl",method = RequestMethod.GET) public String toDenglu(){ return "zyf/dl"; } //将信息保存在session中 @RequestMapping(value = "/zyf/dl",method = RequestMethod.POST) public String toDenglu(HttpSession session,Model model,@ModelAttribute User user){ List<User> list=new ArrayList<User>(); User record=new User(); record.setName(user.getName()); list=userService.selectSelective(record); if(list.size()==0) model.addAttribute("result","0");//该用户不存在 else{ record.setPw(user.getPw()); list=userService.selectSelective(record); if(list.size()==0) model.addAttribute("result","1");//密码错误 else { record=list.get(0); session.setAttribute("user",record); //将用户保存在session里面 model.addAttribute("result","2");//登录成功 } } return "zyf/dl"; } //跳转到成功页面 @RequestMapping(value = "/zyf/userInfo", method = RequestMethod.GET) public String toInfo(Model model, HttpSession session) { User user = (User) session.getAttribute("user"); if (user != null) model.addAttribute("user", user); return "zyf/userInfo"; }}
3)效果图
登录:
注册:
- 四、利用ssm进行登录和注册
- 利用SQLite数据库进行用户名、密码的注册和登录验证
- YII用户注册和用户登录(四)之进行会话控制
- 【Spring+SpringMVC+Mybatis】利用SSM整合,完成用户登录、注册、修改密码系统
- 利用php和mysql实现注册登录页面
- 利用bmob实现简单的注册和登录
- 使用BootstrapValidator进行注册校验和登录错误提示
- 使用JDBC进行后台登录和注册操作
- 利用Ajax和Servlet进行登录用户名检查
- 实现登录和注册
- 20130308登录和注册
- 注册和登录设计
- 注册和登录
- 用户注册和登录
- 最新整合maven+SSM+Tomcat 实现注册登录
- SSM框架整合---实现简单登录注册功能
- 最新整合maven+SSM+Tomcat 实现注册登录
- Java Web开发如何在注册和登录时对用户名和密码进行验证?
- Eclipse导入外部的Web项目,Run as 没有Run On Server选项
- Redis常见7种使用场景
- 工具类,各种保留小数点位数及特殊需求
- SSH无密码登录的配置
- 链表的简单知识
- 四、利用ssm进行登录和注册
- Intellij IDEA常用快捷键
- 设计模式之策略模式
- mac安装brew以及brew cask(二)
- 设计模式
- 27. Remove Element —— Java
- SORA使用
- C++11 自动释放锁
- myid文件缺失导致zookeeper无法启动(myid file is missing)