IDEA创建maven项目实现盼达登录界面跳转

1登录界面跳转

1.1将登录页面写入前端页面的use.jsp

将此行代码写入WEB-INF>jsp>front>user.jsp

<jsp:forward page="/WEB-INF/jsp/front/login.jsp"/>

1.2登录login界面

1.2.1 进入src>java>entity>user类,根据sql数据库的表内容写入public  User代码:

package com.cn.panda.entity;


public class User {
    private  int id=0;//用户id
    private String username;
    private String password;
    private String realname="";//真实姓名
    private String phone="";//手机号
    private String idcard="";//身份证号
    private int gender=0;//男或女
    private int role=0;//角色

    public User() {
    }

    public User(int id, String username, String password, String realname, String phone, String idcard, int gender, int role) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.realname = realname;
        this.phone = phone;
        this.idcard = idcard;
        this.gender = gender;
        this.role = role;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", realname='" + realname + '\'' +
                ", phone='" + phone + '\'' +
                ", idcard='" + idcard + '\'' +
                ", gender=" + gender +
                ", role=" + role +
                '}';
    }
}

 1.2.2 对User接口文件UserMapper.java的写入

在接口使用@Repository注解,并在接口中生命方法getUserByUsernameAndPassword(User user);。进入src>java>mapper>UserMapper接口,其模块代码如下:

package com.cn.panda.mapper;

import com.cn.panda.entity.User;
import org.springframework.stereotype.Repository;


@Repository
public interface UserMapper {
    User findUserById(int id);
    //依据用户名和密码查询用户
    User getUserByUsernameAndPassword(User user);
}

1.2.3 写入UserMapper.xml映射文件

进入src>main>resoruces>com.cn.panda.mapper>UserMapper.xml文件夹下写入如下代码段:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cn.panda.mapper.UserMapper">
    <select id="findUserById" parameterType="int" resultType="user">
        select * from user where id = #{id}
    </select>


<select id="getUserByUsernameAndPassword" parameterType="user" resultType="user">
    SELECT * FROM user WHERE username=#{username} AND password=#{password};
</select>
</mapper>

1.2.4 在UserService中加入方法

在main>java>com.cn.panda>service>impl>UserServicelmpl.java文件夹中写入如下代码段:

package com.cn.panda.service.impl;

import com.cn.panda.entity.User;
import com.cn.panda.mapper.UserMapper;
import com.cn.panda.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
OK 了
 */

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    public User queryUser(int id) {
        User user =userMapper.findUserById(id);

        return user;
    }

    @Override
    public  User getUserByUsernameAndPassword(User user){

        return  userMapper.getUserByUsernameAndPassword(user);
    }
}



1.2.5 UserController写入注解和方法

进入main>java>com.cn.panda>controller>UserController文件夹下写入如下代码段:

package com.cn.panda.controller;

import com.cn.panda.entity.User;
import com.cn.panda.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * 本文作者:谷哥的小弟
 * 博客地址:http://blog.csdn.net/lfdfhl
 */

@Controller
@RequestMapping("user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("getUser")
    public String getUser(int id) {
        User user = userService.queryUser(id);
        System.out.println(user);
        return "front/user";
    }
@PostMapping("login")
    public String getUser(User user, HttpServletRequest request, HttpSession session){

       User u= userService.getUserByUsernameAndPassword(user);
       System.out.println(u);
       if (u!=null){
           System.out.println("登录成功!真棒");
           session.setAttribute("user",u);
           return "";
       }else{
           System.out.println("登录失败哦小宝贝!");
           //如果登录失败或错误则应该跳转至login界面或者专门的错误提醒界面
           return "front/login";
       }
    }

}


1.2.6 运行测试

有的小伙伴在这里运行的时候,输入账号名和密码后会发现页面跳转错误,这是因为我还没有去写登录后的界面,在代码中可以看到这行代码:return "";引号中的部分留待后续开发。

登录成功可以在后台看到有sql的数据检测:

若账号名和密码错误,页面刷新,同时可以看到后台显示登录失败提示:

至此登录界面的跳转结束,跳转后的界面等待后续开发。

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y_寒酥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值