租房系统(半成)
提示:有些代码由于编写格式无法显示顾用了截图的方式。
登录页面
jsp页面
获取jsp页面信息并传递
package com.housers.user.servlets;
import java.io.IOException;
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 javax.servlet.http.HttpSession;
import com.housers.beans.RentGuest;
import com.housers.user.service.IRGService;
import com.housers.user.service.RGServiceImpl;
@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//接受请求参数
String nickName = request.getParameter("nickname");
String password = request.getParameter("password");
System.out.println("nickname=" + nickName);
System.out.println("password=" + password);
//获取session
HttpSession session = request.getSession();
if(nickName == null || password == null) {
System.out.println("nickname and password");
session.setAttribute("login_message", "昵称或密码输入有误");
response.sendRedirect(request.getContextPath() + "/login.jsp");
return;
}
//创建service对象
IRGService service = new RGServiceImpl();
//调用service对象的checkRentGuest()方法对用户进行验证
RentGuest rentGuest = service.checkUser(nickName,password);
//验证失败,跳转登录页面,让用户再次输入,并提示错误信息
if(rentGuest == null) {
session.setAttribute("login_message", "该用户不存在或信息输入有误");
response.sendRedirect(request.getContextPath() + "/login.jsp");
return;
}
response.setContentType("test/html; charaset = utf-8");
int kind = rentGuest.getUserType();
if(kind == 1) {
//验证通过,跳转到管理员主页index.jsp
response.sendRedirect(request.getContextPath() + "/index.jsp");
}else {
response.sendRedirect(request.getContextPath() + "/indexGuest.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect(request.getContextPath() + "/login.jsp");
}
}
连接数据库后的查看从页面得到的信息是否存在
package com.housers.user.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.housers.beans.RentGuest;
import com.housers.utils.JdbcUtils;
public class RentGuestDaoImpl implements IRentGuestDao {
private static Connection conn;
private static Statement stmt;
private static PreparedStatement ps;
private static ResultSet rs;
@Override
public RentGuest selectRentGuestLogin(String nickName, String password) {
try {
RentGuest rentGuest = null;
conn = JdbcUtils.getConn();
String sql = "select * from user where nickName = ? and password = ?";
ps = conn.prepareStatement(sql);
ps.setString(1,nickName);
ps.setString(2,password);
rs = ps.executeQuery();
if(rs.next()) {
rentGuest = new RentGuest();
rentGuest.setId(rs.getInt("id"));
rentGuest.setNickName(rs.getString("NickName"));
rentGuest.setNumId(rs.getString("numId"));
rentGuest.setPassword(rs.getString("password"));
rentGuest.setUserType(rs.getInt("userType"));
return rentGuest;
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
JdbcUtils.close(conn, stmt, rs);
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
@Override
public void AddRentGuest(RentGuest rentGuest) {
try {
conn = JdbcUtils.getConn();
String sql = "insert into user(nickName,password,userType) values(?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1,rentGuest.getNickName());
ps.setString(2,rentGuest.getPassword());
ps.setInt(3,rentGuest.getUserType());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
JdbcUtils.close(conn, stmt, rs);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
注册页面
获取jsp页面信息并传递
package com.housers.user.servlets;
import java.io.IOException;
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 javax.servlet.http.HttpSession;
import com.housers.beans.RentGuest;
import com.housers.user.service.IRGService;
import com.housers.user.service.RGServiceImpl;
@WebServlet("/toRegisterServlet")
public class toRegisterServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//接受请求参数
int id = 0;
String numId=null;
int userType=0;
String nickName = request.getParameter("nickname");
String password = request.getParameter("password");
String kind = request.getParameter("kind");
String pwd = request.getParameter("pwd");
System.out.println("nickname=" + nickName);
System.out.println("password=" + password);
System.out.println("pwd=" + pwd);
System.out.println("kind=" + kind);
//获取session
HttpSession session = request.getSession();
session.setAttribute("register_message", "");
//判断是否选择了注册类型
if(kind != null) {
userType = Integer.valueOf(kind);
}else {
//注册失败重新注册
session.setAttribute("register_message", "注册失败,您未选择注册类型");
response.sendRedirect(request.getContextPath() + "/register.jsp");
return;
}
if(password.equals(pwd)) {
//创建RentGuest对象
RentGuest rentGuest = new RentGuest(id,nickName,numId,password,userType);
//创建service对象
IRGService service = new RGServiceImpl();
//调用service对象的AddRentGuest()方法将对象写入到DB
service.AddRentGuest(rentGuest);
response.setContentType("test/html; charaset = utf-8");
//注册成功跳转到登录页面
session.setAttribute("message", "注册成功");
response.sendRedirect(request.getContextPath() + "/login.jsp");
return;
}else {
//注册失败重新注册
session.setAttribute("register_message", "注册失败,您输入密码不一致,请重新注册");
response.sendRedirect(request.getContextPath() + "/register.jsp");
return;
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect(request.getContextPath() + "/register.jsp");
}
}
连接数据库后的增加操作
package com.housers.user.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.housers.utils.JdbcUtils;
public class InsertGDaoImpl implements InsertGdao {
private static Connection conn;
private static Statement stmt;
private static PreparedStatement ps;
private static ResultSet rs;
@Override
public void insertG(String username, String userIDCard, String userIphone, int userGrade, int ul_id, String ul_house) {
System.out.println(username);
System.out.println(userIDCard);
System.out.println(userIphone);
System.out.println(userGrade);
System.out.println(ul_id);
System.out.println(ul_house);
try {
conn = JdbcUtils.getConn();
String sql = "insert into user_list(username,userIDCard,userIphone,userGrade,ul_id,ul_house)"
+ " values('"+username+"','"+userIDCard+"','"+userIphone+"','"+userGrade+"','"+ul_id+"','"+ul_house+"')";
ps = conn.prepareStatement(sql);
//执行插入语句
ps.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
JdbcUtils.close(conn, stmt, rs);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
此处应用了<%include file=“xxx.jsp”%>包含了一个项目中相同的部分,其部分效果如下:
<tr class = "active"><th><a href="#">租赁及合同信息</a></th></tr>
<tr><td><a href="#">在租列表</a></td></tr>
<tr><td><a href="#">已退租列表</a></td></tr>
<tr class = "active"><th><a href="#">申请列表</a></th></tr>
<tr><td><a href="#">看房申请</a></td></tr>
<tr><td><a href="#">退租申请</a></td></tr>
<tr class = "active"><th><a href="#">报障模块</a></th></tr>
<tr><td><a href="#">待处理报障</a></td></tr>
<tr><td><a href="#">已处理报障</a></td></tr>
<tr class = "active"><th><a href="#">租金信息</a></th></tr>
<tr><td><a href="#">我要收租</a></td></tr>
<tr><td><a href="#">租客待缴租金</a></td></tr>
<tr><td><a href="#">租客已缴租金</a></td></tr>
<tr class = "active"><th><a href="#">我的日程</a></th></tr>
<tr><td><a href="#">查看日程</a></td></tr>
<tr><td><a href="#">添加日程</a></td></tr>
<tr class = "active"><th><a href="#">其他操作</a></th></tr>
<tr><td><a href="${pageContext.request.contextPath }/userManageServlet">用户管理</a></td></tr>
</table>
</div>
连接数据库后的显示房源列表操作
package com.housers.house.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.housers.beans.House;
import com.housers.beans.UserMessage;
import com.housers.utils.JdbcUtils;
public class HDaoImpl implements IHDao {
private static Connection conn;
private static Statement stmt;
private static PreparedStatement ps;
private static ResultSet rs;
@Override
public List<House> getH() {
House house = null;
List<House>houses = new ArrayList();
try {
conn = JdbcUtils.getConn();
String sql = "select * from house";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
house = new House();
while(rs.next()) {
house.setHouseId(rs.getString("houseId"));
house.setHouseAddress(rs.getString("houseAddress"));
house.setHouseArea(rs.getFloat("houseArea"));
house.setHousePrice(rs.getDouble("housePrice"));
house.setHouseStatic(rs.getString("houseStatic"));
houses.add(new House(rs.getString("houseId"),rs.getString("houseAddress"),rs.getFloat("houseArea")
,rs.getDouble("housePrice"),rs.getString("houseStatic")));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
JdbcUtils.close(conn, stmt, rs);
} catch (SQLException e) {
e.printStackTrace();
}
}
return houses;
}
}
连接数据库后的添加房源列表操作
package com.housers.house.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.housers.beans.House;
import com.housers.utils.JdbcUtils;
public class InsertHDaoImpl implements InsertHdao {
private static Connection conn;
private static Statement stmt;
private static PreparedStatement ps;
private static ResultSet rs;
@Override
public void insertH(String houseId, String houseAddress, float houseArea, double housePrice, String houseStatic) {
try {
conn = JdbcUtils.getConn();
String sql = "insert into house(houseId,houseAddress,houseArea,housePrice,houseStatic)"
+ " values('"+houseId+"','"+houseAddress+"','"+houseArea+"','"+housePrice+"','"+houseStatic+"')";
ps = conn.prepareStatement(sql);
//执行插入语句
ps.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
JdbcUtils.close(conn, stmt, rs);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
声明:此为部分的代码。
其他模块编写中,往后会发的 ^.^。