房产信息管理系统--配置文件+工具类+实体类+登录选择页面+登录校验
房产信息管理系统--配置文件+工具类+实体类+登录选择页面+登录校验
总实现: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>
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
工具类
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; } }
实体类
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() { } }
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; } }
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() { } }
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; } }
登录页面及校验操作
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>顾客 <input name="type" type="radio" value="房产经理">房产经理 <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>
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(); } }
浙公网安备 33010602011771号