房产信息管理系统--配置文件+工具类+实体类+登录选择页面+登录校验

房产信息管理系统--配置文件+工具类+实体类+登录选择页面+登录校验

总实现:test房产信息管理系统 - yuanse - 博客园 (cnblogs.com)

这些大多数都不会再改变的了;需要注意的是登录页面的实现。

注册实现:房产信息管理系统--注册功能实现 - yuanse - 博客园 (cnblogs.com)

配置文件

1.mybatis-config.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--
    properties 标签中的配置可以供整个配置文件使用,在任何位置都可以引入其中配置的值。
    properties 标签可以通过子标签 property 标签来配置一些子元素信息,也可以配置外部的动态文件。
-->
    <properties resource="mysql.properties"/>
    <!--  也可以配置 url,但是 url和resource只能存在一个  -->
    <!--  类型别名  -->
<!--    <typeAliases>-->
<!--        <typeAlias type="com.xxxx.entity.User" alias="User"/>-->
<!--    </typeAliases>-->

    <!--  对事物的管理和连接池的配置  -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--连接池信息-->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

<!--mappers映射器-->
    <mappers>
         <!--映射文件方式1.一个一个的配置-->
    <!--    <mapper resource="com/xxxx/mapper/UserMapper.xml"/>-->
    <!--    <mapper class="com.xxxx.mapper.UserMapper"/>-->

         <!--映射文件方式2.自动扫描包内的Mapper接口和配置文件-->
        <package name="com.xxxx.mapper"/>
    </mappers>
</configuration>
View Code点击查看代码

2.mysql.properties

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/course?serverTimezone=UTC&useSSL=false&characterEncoding=UTF-8
username=root
password=123456
View Code点击查看代码

工具类

3.GetSqlSession.java

package com.xxxx.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class GetSqlSession {
    /**
     * 获取SqlSession对象
     */
    public static SqlSession CreateSqlSession() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession(true);//关闭事物,否则要手动提交事务
        return sqlSession;
    }
}
View Code点击查看代码

实体类

4.Agent.java(房产经理类)

package com.xxxx.entity;

public class Agent {
    private String agid;//经理id
    private String agname;//经理姓名
    private String agaddress;//经理地址
    private String agphone;//经理电话

    public Agent(String agid, String agname, String agaddress, String agphone) {
        this.agid = agid;
        this.agname = agname;
        this.agaddress = agaddress;
        this.agphone = agphone;
    }

    public String getAgid() {
        return agid;
    }

    public void setAgid(String agid) {
        this.agid = agid;
    }

    public String getAgname() {
        return agname;
    }

    public void setAgname(String agname) {
        this.agname = agname;
    }

    public String getAgaddress() {
        return agaddress;
    }

    public void setAgaddress(String agaddress) {
        this.agaddress = agaddress;
    }

    public String getAgphone() {
        return agphone;
    }

    public void setAgphone(String agphone) {
        this.agphone = agphone;
    }

    public Agent() {
    }
}
View Code点击查看代码

5.House.java(房产信息类)

package com.xxxx.entity;

public class House {
    private String hoid;//房子ID
    private String hotype;//户型
    private String hoaddress;//房地址
    private String hoyear;//建造年份
    private String hoarea;//面积
    private String hosale;//销售价格
    private String hostatus;//销售状态
    private String aid;//经理id
    private String uid;//顾客id

    public String getHoid() {
        return hoid;
    }

    public House(String hoid, String hotype, String hoaddress, String hoyear, String hoarea, String hosale, String hostatus) {
        this.hoid = hoid;
        this.hotype = hotype;
        this.hoaddress = hoaddress;
        this.hoyear = hoyear;
        this.hoarea = hoarea;
        this.hosale = hosale;
        this.hostatus = hostatus;
    }

    public void setHoid(String hoid) {
        this.hoid = hoid;
    }

    public String getHotype() {
        return hotype;
    }

    public void setHotype(String hotype) {
        this.hotype = hotype;
    }

    public String getHoaddress() {
        return hoaddress;
    }

    public void setHoaddress(String hoaddress) {
        this.hoaddress = hoaddress;
    }

    public String getHoyear() {
        return hoyear;
    }

    public void setHoyear(String hoyear) {
        this.hoyear = hoyear;
    }

    public String getHoarea() {
        return hoarea;
    }

    public void setHoarea(String hoarea) {
        this.hoarea = hoarea;
    }

    public String getHosale() {
        return hosale;
    }

    public void setHosale(String hosale) {
        this.hosale = hosale;
    }

    public String getHostatus() {
        return hostatus;
    }

    public void setHostatus(String hostatus) {
        this.hostatus = hostatus;
    }

    public String getAid() {
        return aid;
    }

    public void setAid(String aid) {
        this.aid = aid;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public House() {
    }

    public House(String hoid, String hotype, String hoaddress, String hoyear, String hoarea, String hosale, String hostatus, String aid, String uid) {
        this.hoid = hoid;
        this.hotype = hotype;
        this.hoaddress = hoaddress;
        this.hoyear = hoyear;
        this.hoarea = hoarea;
        this.hosale = hosale;
        this.hostatus = hostatus;
        this.aid = aid;
        this.uid = uid;
    }
}
View Code点击查看代码

6.Login.java(登录类)

package com.xxxx.entity;

public class Login {
    private String uname;//登录账号
    private String upwd;//登录密码
    private String type;//登录类型

    public Login(String uname, String upwd, String type) {
        this.uname = uname;
        this.upwd = upwd;
        this.type = type;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getUpwd() {
        return upwd;
    }

    public void setUpwd(String upwd) {
        this.upwd = upwd;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Login() {
    }
}
View Code点击查看代码

7.User.java(顾客类)

package com.xxxx.entity;

public class User {
    private int usid;//顾客id
    private String usname;//顾客名字
    private String ussex;//顾客性别
    private String usidnum;//身份证
    private String usphone;//顾客电话
    private String usaddress;//顾客地址
    private String usstatus="0";//顾客状态:0为注册;1为可以登录

    public String getUsstatus() {
        return usstatus;
    }

    public void setUsstatus(String usstatus) {
        this.usstatus = usstatus;
    }

    public User() {
    }

    public User(int usid, String usname, String ussex, String usidnum, String usphone, String usaddress) {
        this.usid = usid;
        this.usname = usname;
        this.ussex = ussex;
        this.usidnum = usidnum;
        this.usphone = usphone;
        this.usaddress = usaddress;
    }

    public int getUsid() {
        return usid;
    }

    public void setUsid(int usid) {
        this.usid = usid;
    }

    public String getUsname() {
        return usname;
    }

    public void setUsname(String usname) {
        this.usname = usname;
    }

    public String getUssex() {
        return ussex;
    }

    public void setUssex(String ussex) {
        this.ussex = ussex;
    }

    public String getUsidnum() {
        return usidnum;
    }

    public void setUsidnum(String usidnum) {
        this.usidnum = usidnum;
    }

    public String getUsphone() {
        return usphone;
    }

    public void setUsphone(String usphone) {
        this.usphone = usphone;
    }

    public String getUsaddress() {
        return usaddress;
    }

    public void setUsaddress(String usaddress) {
        this.usaddress = usaddress;
    }
}
View Code点击查看代码

登录页面及校验操作

8.yemian.jsp(登录页面:选择登录的身份)

<%--
  Created by IntelliJ IDEA.
  User: 22466
  Date: 2022/11/19
  Time: 18:53
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>yemian.jsp</title>
</head>
<%--用户登录页面:选择登录身份,账户密码校验,跳转指定的功能页面--%>
<body>
<h2 align="center" >用户登录页面</h2>
<table align="center" width="400" >
    <form id="yemianForm" method="post" action="yemianServlet">
        <tr>
            <td>
            账号:<input type="text"  name="uname">
            </td>
        </tr>
        <tr>
            <td>密码:<input type="password"  name="upwd"></td>
        </tr>
        <tr>
            <td>身份:<input type="radio"  name="type" value="顾客" checked>顾客&nbsp;<input name="type" type="radio" value="房产经理">房产经理&nbsp;<input name="type" type="radio" value="系统管理员">系统管理员</tr></td><tr> <td><span style="font-size: 16px;color: red" >${msg}</span></td></tr>
        <tr>
            <td> <button>登录</button> <button type="button" onclick="register()">注册</button> </td>
        </tr>
    </form>
</table>
<script type="text/javascript" src="js/jquery-3.6.1.js"></script>
<script type="text/javascript">
    function register(){
        window.location="register.jsp";
    }
</script>
</body>
</html>
View Code点击查看代码

9.yemianServlet.java(登录校验:看身份,登录成功后跳转对应功能页面)

package com.xxxx.servlet;

import com.xxxx.entity.Login;
import com.xxxx.mapper.LoginMapper;
import com.xxxx.util.GetSqlSession;
import org.apache.ibatis.session.SqlSession;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 登录校验:正确-->重定向到不同的功能jsp
 *          错误-->根据情况返回错误消息到yemian.jsp登录页面
 */
@WebServlet("/yemianServlet")
public class yemianServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8");
        String uname=request.getParameter("uname");
        String upwd=request.getParameter("upwd");
        String type=request.getParameter("type");
        SqlSession sqlSession= GetSqlSession.CreateSqlSession();
        LoginMapper loginMapper=sqlSession.getMapper(LoginMapper.class);
        Login login=loginMapper.selectByunametype(uname,type);
        if(login==null){
            request.setAttribute("msg","用户不存在");
            request.getRequestDispatcher("yemian.jsp").forward(request,response);
        }else{
            if(upwd.equals(login.getUpwd())){
                request.getSession().setAttribute("uname",uname);
                if(type.equals("顾客"))
                    response.sendRedirect("user.jsp");//顾客
                else if(type.equals("房产经理"))
                    response.sendRedirect("agent.jsp");//房产经理
                else
                    response.sendRedirect("admin.jsp");//系统管理者
            }
            else{
                request.setAttribute("msg","密码错误");
                request.getRequestDispatcher("yemian.jsp").forward(request,response);
            }
        }
        sqlSession.close();
    }
}
View Code点击查看代码

 

posted on 2022-11-16 12:03  201812  阅读(108)  评论(0)    收藏  举报