发表于: 2019-11-09 22:06:49
1 1071
今天完成的事情:
把登录,注册模块写好
创建好DB
dao层
public interface UserDao {
int insert(User record);
List<User> selectByName(String name);
List<User> selectByNameAndPwd(@Param("name") String name,@Param("pwd") String pwd);
dao.xml
<insert id="insert" parameterType="com.pojo.User" >
insert into user (name, pwd)
values (#{name,jdbcType=VARCHAR}, #{pwd,jdbcType=VARCHAR})
</insert>
<select id="selectByName" resultMap="BaseResultMap">
select id,name,pwd from user where name = #{name,jdbcType=VARCHAR}
</select>
<select id="selectByNameAndPwd" resultType="com.pojo.User">
select * from user where name = #{name} and pwd = #{pwd}
</select>
controller
@Controller
@RequestMapping("")
public class UserController {
private static Logger logger = Logger.getLogger(UserController.class);
@Autowired
UserService userService;
/**
* 跳转页面
* @return
*/
@RequestMapping(value = "/register", method = RequestMethod.GET)
public String register() {
return "register";
}
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String insert(User user, String name) {
logger.info("新用户注册信息:" + user);
//通过用户名查找数据,查看是否有这条数据
List<User> users = userService.selectByName(name);
logger.info("查看是否注册:" + users);
//如果能查出来这条数据就说明数据库里有这条数据,那么注册失败,否则注册成功,跳转到首页
if (!CollectionUtils.isEmpty(users)) {
logger.info("该用户名已存在");
return "register";
} else {
if (user.getName() != null
&& user.getName().length() > 0
&& user.getPwd() != null
&& user.getPwd().length() > 0) {
System.out.println("user" + user);
int row = userService.insert(user);
logger.info("注册成功:" + row);
return "home";
} else {
return "register";
}
}
}
@RequestMapping(value = "/login",method = RequestMethod.GET)
public String login(User user,String name,String pwd){
logger.info("user"+user);
//如果能查出来数据,说明数据库里存在这条数据,那么登录成功,跳转首页;否则登录失败,留在登录页面
List<User> user1 = userService.selectByNameAndPwd(name, pwd);
if (!CollectionUtils.isEmpty(user1)){
logger.info("登录成功");
return "home";
}else {
logger.info("登录失败,该用户名不存在");
return "login";
}
}
}
登录页面
注册页面
在head加上两个跳转页面
效果
明天计划的事情:尝试DES对登录页加密
遇到的问题:DES加密还是不知道怎么用
收获:
简单了解cookie
什么是cookie
HTTP协议本身是无状态的。什么是无状态呢,即服务器无法判断用户身份。Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。
打个比方,我们去银行办理储蓄业务,第一次给你办了张银行卡,里面存放了身份证、密码、手机等个人信息。当你下次再来这个银行时,银行机器能识别你的卡,从而能够直接办理业务。
评论