package com.ssm.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ssm.model.User;
import com.ssm.service.IUserService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private HttpServletRequest request; //自动注入request
@Autowired
private IUserService userService;
/**
* 在登录界面通过注册按钮,找到该方法,然后跳转到注册页面
* @return
*/
@RequestMapping("registerjump")
public String register(){
return "register";
}
/**
* 注册验证,验证成功把数据保存进数据库,然后转到登录页面
* @param user
* @param br
* @param model
* @return
*/
@RequestMapping("/register")
public String validatorZC(@Valid User user, BindingResult br, Model model){
//判定br中错误数是否大于0,如果true,证明有一个验证失败了
if (br.getErrorCount()>0){
FieldError name=br.getFieldError("name");
FieldError password=br.getFieldError("password");
FieldError phone=br.getFieldError("phone");
FieldError sex=br.getFieldError("sex");
//哪个验证失败,就回显示哪个
if(sex!=null){
String sexmsg = sex.getDefaultMessage();
model.addAttribute("sexmsg",sexmsg);
}
if(name!=null){
String namemsg = name.getDefaultMessage();
model.addAttribute("namemsg",namemsg);
}
if(password!=null){
String psdmsg = password.getDefaultMessage();
model.addAttribute("psdmsg",psdmsg);
}
if(phone!=null){
String phonemsg = phone.getDefaultMessage();
model.addAttribute("phonemsg",phonemsg);
}
//这个if里面就是肯定有错误,回显示名字
model.addAttribute("name",user.getName());
/*返回注册页面*/
return "register";
}
//没有错误提示,然后判断该用户是否存在
// 即注册成功了,保存数据进数据库
//正常情况下,数据库中的用户名是是不会重名的,所以根据用户名查询出来的客户是一个
User user1= userService.checkByName(user.getName());
if (user1==null||"".equals(user1)){ //如果数据中没有该用户
userService.saveUser(user);
//然后返回登录页面
return "login";
}else {
model.addAttribute("namemsg","用户已存在");
return "register";
}
}
//在注册的时候,如果已经注册过了,可以直接点击登录按钮,通过下述方法跳转到登录页面
@RequestMapping("loginjump")
public String loginjump(){
return "login";
}
/**
* 登录验证,登录成功跳转到用户信息页面
* @param name
* @param password
* @param model
* @return
*/
@RequestMapping("login")
public String login(@Param("name")String name, @Param("password")String password, Model model) {
User user=userService.checkByName(name);
if(name==null||"".equals(name)){ //没有输入姓名
model.addAttribute("msg1","请输入姓名");
}else if(user==null||"".trim().equals(user)){ //输入姓名但是姓名错误
model.addAttribute("msg1","账户不存在,请先注册");
return "login";
}else if(user!=null &(password==null||"".equals(password))){ //姓名正确,但没有输入密码
model.addAttribute("msg2","请输入密码");
}else if(user!=null &!(user.getPassword().equals(password))) { //姓名正确,输入密码,但是密码错误
model.addAttribute("msg2","密码错误");
}else if (user!=null &user.getPassword().equals(password)){ //姓名密码均正确
// return "redirect:/user/getAllUser";
HttpSession session = request.getSession();
session.setAttribute("user",user);
return "redirect:/user/list";
}
return "login";
}
/*
1、不输入名字,提示:请输入用户名
2、输入名字,分两种情况:不管输不输入密码,都会先判断用户是否存在
01、用户不存在,不用判断密码了 提示:用户不存在
02、用户存在,判断密码
密码错误:提示密码错误
密码正确:重定向到指定页面
*/
/**
* 从用户信息页面通过下述方法,跳转到添加用户界面
* @return
*/
@RequestMapping("toAddUser")
public String toAddUser(){
return "addUser";
}
/**
* 添加用户之前先进行验证,成功了并重定向到查询全部用户信息
* @param user
* @param br
* @param model
* @return
*/
@RequestMapping("/addUser")
public String addUser(@Valid User user, BindingResult br, Model model){
//判定br中错误数是否大于0,如果true,证明有一个验证失败了
if (br.getErrorCount()>0){
FieldError name=br.getFieldError("name");
FieldError password=br.getFieldError("password");
FieldError phone=br.getFieldError("phone");
FieldError sex=br.getFieldError("sex");
//哪个验证失败,就回显示哪个
if(sex!=null){
String sexmsg =sex.getDefaultMessage();
model.addAttribute("sexmsg",sexmsg);
}
if(name!=null){
String namemsg = name.getDefaultMessage();
model.addAttribute("namemsg",namemsg);
}
if(password!=null){
String psdmsg = password.getDefaultMessage();
model.addAttribute("psdmsg",psdmsg);
}
if(phone!=null){
String phonemsg = phone.getDefaultMessage();
model.addAttribute("phonemsg",phonemsg);
}
//这个if里面就是肯定有错误,回显示名字
model.addAttribute("name",user.getName());
/*返回添加用户页面*/
return "addUser";
}
//没有错误提示,然后判断该用户是否存在
// 即注册成功了,保存数据进数据库
//正常情况下,数据库中的用户名是是不会重名的,所以根据用户名查询出来的客户是一个
User user1= userService.checkByName(user.getName());
if (user1==null||"".equals(user1)){ //如果数据中没有该用户
userService.saveUser(user);
//然后返回用户信息页面
return "redirect:/user/list";
}else {
model.addAttribute("namemsg","用户已存在");
return "addUser"; //返回addUser.jsp
}
}
/**
* 查询全部用户
* @param model
* @return
*/
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ssm框架增删改查、分页查询、验证登录、登陆拦截 (103个子文件)
UserController.class 7KB
UserController.class 7KB
LoginInterceptor.class 3KB
LoginInterceptor.class 3KB
User.class 2KB
User.class 2KB
UserServiceImpl.class 1KB
UserServiceImpl.class 1KB
IUserService.class 511B
IUserService.class 511B
IUserDao.class 499B
IUserDao.class 499B
index.html 726B
index.html 726B
ssm.iml 156B
javaee-api-8.0.jar 1.89MB
mybatis-3.4.1.jar 1.51MB
jackson-databind-2.8.7.jar 1.18MB
hibernate-validator-6.0.13.Final.jar 1.1MB
spring-context-4.3.5.RELEASE.jar 1.08MB
spring-core-4.3.5.RELEASE.jar 1.06MB
mysql-connector-java-5.1.41.jar 970KB
spring-webmvc-4.3.5.RELEASE.jar 893KB
spring-web-4.3.5.RELEASE.jar 797KB
spring-beans-4.3.5.RELEASE.jar 744KB
javax.mail-1.6.0.jar 638KB
mchange-commons-java-0.2.11.jar 592KB
spring-test-4.3.5.RELEASE.jar 585KB
c3p0-0.9.5.2.jar 486KB
logback-core-1.2.2.jar 462KB
spring-jdbc-4.3.5.RELEASE.jar 417KB
jstl-1.2.jar 405KB
jsqlparser-1.2.jar 401KB
spring-aop-4.3.5.RELEASE.jar 371KB
junit-4.12.jar 308KB
logback-classic-1.2.2.jar 284KB
jackson-core-2.8.7.jar 276KB
spring-tx-4.3.5.RELEASE.jar 261KB
spring-expression-4.3.5.RELEASE.jar 257KB
validation-api-2.0.1.Final.jar 91KB
pagehelper-5.1.6.jar 82KB
jboss-logging-3.3.2.Final.jar 65KB
classmate-1.3.4.jar 64KB
activation-1.1.jar 62KB
commons-logging-1.2.jar 60KB
jackson-annotations-2.8.0.jar 54KB
mybatis-spring-1.3.1.jar 52KB
hamcrest-core-1.3.jar 44KB
slf4j-api-1.7.25.jar 40KB
UserController.java 13KB
LoginInterceptor.java 3KB
User.java 2KB
UserServiceImpl.java 937B
IUserDaoTest.java 695B
IUserService.java 339B
IUserDao.java 331B
list1.jsp 5KB
list.jsp 5KB
list.jsp 5KB
list1.jsp 5KB
addUser.jsp 3KB
addUser.jsp 3KB
allUser.jsp 2KB
allUser.jsp 2KB
updateUser.jsp 2KB
updateUser.jsp 2KB
register.jsp 1KB
register.jsp 1KB
login.jsp 1KB
login.jsp 1KB
login.jsp 1006B
login.jsp 1006B
index.jsp 632B
index.jsp 632B
index.jsp 632B
index.jsp 632B
success.jsp 154B
success.jsp 154B
MANIFEST.MF 99B
jdbc.properties 410B
jdbc.properties 410B
jdbc.properties 410B
workspace.xml 42KB
pom.xml 6KB
spring-mybatis.xml 4KB
spring-mybatis.xml 4KB
spring-mybatis.xml 4KB
spring-mvc.xml 2KB
spring-mvc.xml 2KB
spring-mvc.xml 2KB
web.xml 2KB
web.xml 2KB
UserDao.xml 1KB
UserDao.xml 1KB
UserDao.xml 1KB
misc.xml 656B
compiler.xml 536B
logback.xml 382B
logback.xml 382B
logback.xml 382B
共 103 条
- 1
- 2
资源评论
飞奔的加瓦
- 粉丝: 76
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于可再生能源的微电网电源管理系统
- 1714641049369119_download.jsp
- a股上市公司2007年至2020年的员工构成数据
- 【打击高价帖】低价出2000-2019各国签订的RTA区域贸易协定数量(双边)
- IMG_20240502_102008.jpg
- A股上市企业超额管理费用数据集-含参考文献、原始数据、结果数据(2003-2022年) .txt
- qtcreator11.0.3.输入中文.so
- Unity3D版本游戏源码2-91极道杀戮最新支持webgFullGameKitHammer2
- HTML5+CSS+JS精品网页模板 大学生期末大作业 Web前端网页制作
- 基于Flask的Python全国招聘岗位就业可视化系统源码+项目说明.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功