文件夹设置
UserController代码
package com.yiju.controller;
import com.yiju.bean.Collect;
import com.yiju.bean.UserAuth;
import com.yiju.bean.UserInfo;
import com.yiju.pojo.CollectView;
import com.yiju.service.IUserService;
import net.sf.json.JSONObject;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
public IUserService userService;
@RequestMapping("login.do")
@ResponseBody
public String login(@Param(value="username")String username,
@Param(value="password")String password){
if("123".equals(username)&&"123".equals(password)){
return "success";
}else {
return "failure";
}
}
@RequestMapping("login1.do")
@ResponseBody
public String login1(@Param(value="username")String username,
@Param(value="password")String password){
JSONObject jsonObject=new JSONObject();
if("123".equals(username)&&"123".equals(password)){
jsonObject.put("result","1");
}else {
jsonObject.put("result","2");
}
return jsonObject.toString();
}
@RequestMapping("login2.do")
@ResponseBody
public String login2(@Param(value="phone")String phone,
@Param(value="password")String password,
HttpSession session){
JSONObject jsonObject=new JSONObject();
UserInfo user=userService.findByPhone(phone);
if (user==null){
jsonObject.put("result","0");
}else if(!password.equals(user.getPassword())){
jsonObject.put("result","1");
}else {
session.setAttribute("user",user);
jsonObject.put("result","2");
}
/*if("123".equals(phone)&&"123".equals(password)){
jsonObject.put("result","1");
}else {
jsonObject.put("result","2");
}*/
return jsonObject.toString();
}
@RequestMapping("singup.do")
@ResponseBody
public String singup(@Param(value="phone")String phone,
@Param(value="password")String password){
JSONObject jsonObject=new JSONObject();
UserInfo user=userService.findByPhone(phone);
if (user==null){
userService.add(phone,password);
jsonObject.put("result","0");
}else {
jsonObject.put("result","1");
}
/*if("123".equals(phone)&&"123".equals(password)){
jsonObject.put("result","1");
}else {
jsonObject.put("result","2");
}*/
return jsonObject.toString();
}
@RequestMapping("saveEdit.do")
@ResponseBody
public String saveEdit(UserInfo userInfo,HttpSession session){
JSONObject jsonObject=new JSONObject();
UserInfo userInfo1=(UserInfo) session.getAttribute("user");
userInfo1.setTruename(userInfo.getTruename());
userInfo1.setNickname(userInfo.getNickname());
userInfo1.setGender(userInfo.getGender());
userInfo1.setCity(userInfo.getCity());
userService.updateUserInfo(userInfo1);
session.setAttribute("user",userInfo1);
return jsonObject.toString();
}
@RequestMapping("verify.do")
public ModelAndView verify(HttpSession session){
UserInfo user=(UserInfo) session.getAttribute("user");
UserAuth userAuth=userService.findUserAuth(user.getUserId());
session.setAttribute("userAuth",userAuth);
ModelAndView modelAndView=new ModelAndView();
modelAndView.setViewName("verify");
return modelAndView;
}
@RequestMapping("saveAuth.do")
@ResponseBody
public String saveAuth(UserAuth userAuth,HttpSession session){
UserInfo user= (UserInfo) session.getAttribute("user");
userAuth.setUserName(user.getTruename());
userAuth.setUserGender(user.getGender());
userAuth.setUserId(user.getUserId());
userAuth.setCreateTime(new Date().getTime());
userAuth.setUpdateTime(new Date().getTime());
userService.postUserAuth(userAuth);
return new JSONObject().toString();
}
@RequestMapping("deleteAuth.do")
public ModelAndView deleteAuth(HttpSession session){
UserInfo user = (UserInfo) session.getAttribute("user");
userService.deleteById(user.getUserId());
ModelAndView modelAndView=new ModelAndView();
modelAndView.setViewName("personal");
return modelAndView;
}
@RequestMapping("upps.do")
@ResponseBody
public String upps(HttpSession session,String oldpassword,String password){
UserInfo user= (UserInfo) session.getAttribute("user");
JSONObject jsonObject=new JSONObject();
if (!user.getPassword().equals(oldpassword)){
jsonObject.put("result",1);
}else {
user.setPassword(password);
userService.updatePS(user);
session.setAttribute("user",user);
jsonObject.put("result",2);
}
return new JSONObject().toString();
}
@RequestMapping("favorite.do")
public ModelAndView favorite(HttpSession session){
UserInfo user= (UserInfo) session.getAttribute("user");
ModelAndView modelAndView=new ModelAndView();
List<CollectView> collects=userService.getCollectViewByUser(user.getUserId());
modelAndView.addObject("collects",collects);
modelAndView.setViewName("favorite");
return modelAndView;
}
@RequestMapping("addToCollect.do")
@ResponseBody
public String addToCollect(HttpSession session,int houseId){
UserInfo user= (UserInfo) session.getAttribute("user");
JSONObject jsonObject=new JSONObject();
Collect c=userService.findByHouseType(user.getUserId(),houseId);
if (c!=null){
jsonObject.put("result","0");
}else {
Collect collect = new Collect();
collect.setUserId(user.getUserId());
collect.setHouseId(houseId);
collect.setUpdateTime(new Date().getTime());
collect.setCreateTime(new Date().getTime());
userService.addCollect(collect);
jsonObject.put("result","1");
}
return new JSONObject().toString();
}
}
UserInfoMapper代码
<?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.yiju.dao.IUserDao">
<select id="findUserByPhone" parameterType="String" resultType="com.yiju.bean.UserInfo">
select * from tb_user where phone=#{phone}
</select>
<insert id="singup" parameterType="String">
insert into tb_user (phone,password) values (#{phone},#{password})
</insert>
<update id="updateUserInfo" parameterType="com.yiju.bean.UserInfo">
update tb_user set truename=#{truename},nickname=#{nickname},gender=#{gender},city=#{city}
where user_id=#{userId}
</update>
<select id="findUserAuthByUserId" parameterType="int" resultType="com.yiju.bean.UserAuth">
select * from tb_user_auth where user_Id=#{userId}
</select>
<insert id="postUserAuth" parameterType="com.yiju.bean.UserAuth">
insert into tb_user_auth(user_id,user_name,user_gender,user_card,user_card_address,user_live_address,create_time,update_time)
value(#{userId},#{userName},#{userGender},#{userCard},#{userCardAddress},#{userLiveAddress},
#{createTime},#{updateTime})
</insert>
<delete id="deleteById" parameterType="int">
delete from tb_user_auth where user_id=#{userId}
</delete>
<update id="updatePS" parameterType="com.yiju.bean.UserInfo">
update tb_user set password=#{password}
where user_Id=#{userId}
</update>
<select id="getCollectViewByUser" parameterType="int" resultType="com.yiju.pojo.CollectView">
select * from tb_collect a,tb_house b where a.house_id=b.house_id and a.user_id=#{userId}
</select>
<insert id="addCollect" parameterType="com.yiju.bean.Collect">
insert into tb_collect(user_id,house_id,create_time,update_time)values(
#{userId},#{houseId},#{createTime},#{updateTime})
</insert>
<select id=" findByHouseType" parameterType="int" resultType="com.yiju.bean.Collect">
select * from tb_collect where user_id=#{userId} and house_id=#{houseId}
</select>
</mapper>
newhouse改为houses代码
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%@ page import="java.util.List" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.Date" %><%--
Created by IntelliJ IDEA.
User: 36353
Date: 2019-07-04
Time: 22:54
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>新房房源列表</title>
<%--导入CSS文件--%>
<link type="text/css" href="../css/css.css" rel="stylesheet"/>
<%--导航栏的JS--%>
<script type="text/javascript" src="../js/js.js"></script>
<script type="text/javascript" src="../js/jquery.js"></script>
<%--搜索框的css--%>
<link type="text/css" href="../css/searchInputStyle.css" rel="stylesheet"/>
<link type="text/css" href="../css/searchReset.css" rel="stylesheet"/>
<script type="text/javascript" src="js/jquery2.min.js"></script>
</head>
<body>
<!--头部最上方的框-->
<jsp:include page="../pages/basehead.jsp"></jsp:include>
<!--头部最上方的框-->
<!--Logo栏和手机号栏-->
<div class="logo-phone">
<div class="width1190">
<table align="center" width="100%">
<tr>
<td>
<h1 class="logo"><a href="../index.jsp"><img src="../images/logo.png" width="163" height="59"/></a>
</h1>
</td>
<td align="center">
<div class="phones"><strong>000-0000000</strong></div>
<div class="clears"></div>
</td>
</tr>
</table>
</div><!--width1190/-->
</div><!--logo-phone/-->
<!--Logo栏和手机号栏-->
<!--导航栏-->
<div class="list-nav">
<div class="width1190">
<ul class="nav">
<li><a href="${pageContext.request.contextPath}/index.jsp">首页</a></li>
<li><a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=0">新房</a></li>
<li><a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=1">二手房</a></li>
<li><a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=2">租房</a></li>
<li class="zhiding"><a href="#">指定购房</a></li>
<li><a href="${pageContext.request.contextPath}/pages/housePost1.jsp">发布房源</a></li>
<li><a href="#">公告中心</a></li>
<li><a href="#">关于我们</a></li>
<div class="clears"></div>
</ul><!--nav-->
<div class="clears"></div>
</div><!--width1190-->
</div><!--list-nav-->
<!--导航栏End-->
<!--Logo栏和手机号栏-->
<hr width="1280px">
<%--<div class="content">--%>
<div class="width1190">
<p style="font-size: 16px">当前位置:<a href="../index.jsp">首页</a> >> <a
href="#">新房房源</a></p>
</div>
<%--</div>--%>
<%--房源列表--%>
<div class="content">
<div class="width1190">
<form action="" method="get" class="pro-search">
<div class="paixu">
<strong>排序:</strong>
<a href="javascript:;" class="pai-cur">默认</a>
<a href="javascript:;">价格 ∨</a>
<a href="javascript:;">最新 ∨</a>
</div>
</form><!--pro-search/-->
</div><!--width1190/-->
<div class="width1190">
<div class="pro-left">
<%--房屋信息分页显示--%>
<c:forEach var="house" items="${pageInfo.list}">
<dl>
<dt><a href="${pageContext.request.contextPath}/house/findHouseById.do?houseId=${house.houseId}"><img
src="http://image.cxhit.com/${house.houseHeadimg}" style="width:286px;height:188px"
width="286" height="188"/></a></dt>
<dd>
<h3><a href="${pageContext.request.contextPath}/house/findHouseById.do?houseId=${house.houseId}">${house.houseTitle}</a></h3>
<div class="pro-wei">
<img src="../images/weizhi.png" width="12" height="16" style="width:12px;height:16px"/>
<strong class="red">${house.houseAddress}</strong>
</div>
<div class="pro-fang">${house.houseLayout} ${house.houseArea}平 ${house.houseTurn} ${house.houseFloor}层/${house.floorAll}层</div>
<div class="pra-fa">发布人:${house.trueName}先生 发布时间:${house.date}</div>
</dd>
<div class="price">¥ <strong>${house.housePrice}</strong><span
class="font12">${house.priceUnit}</span></div>
<div class="clears"></div>
</dl>
</c:forEach>
<%--分页按钮--%>
<div class="pull-right">
<ul class="pagination">
<li>
<a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}¤tPage=${pageInfo.firstPage}"
aria-label="Previous">首页</a></li>
<li>
<a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}¤tPage=${pageInfo.pageNum - 1}">上一页</a>
</li>
<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
<li>
<a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}¤tPage=${pageNum}">${pageNum}</a>
</li>
</c:forEach>
<li>
<a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}¤tPage=${pageInfo.pageNum + 1}">下一页</a>
</li>
<li>
<a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}¤tPage=${pageInfo.lastPage}"
aria-label="Next">尾页</a></li>
</ul>
</div><!--底部分页栏-->
</div><!--pro-left/-->
<div class="pro-right">
<h2 class="right-title">推荐房源</h2>
<div class="right-pro">
<c:forEach var="randomHouse" items="${fh}">
<dl>
<dt>
<a href="#"><img
src="http://image.cxhit.com/${randomHouse.houseHeadimg}"
style="width: 135px; height: 88px"/></a></dt>
<dd>
<h3>
<a href="#">${randomHouse.houseTitle}</a>
</h3>
<div class="pro-fang">${randomHouse.houseLayout} ${randomHouse.houseArea}平
朝${randomHouse.houseTurn}</div>
<div class="right-price">${randomHouse.housePrice}${randomHouse.priceUnit}</div>
</dd>
</dl>
</c:forEach>
</div><!--right-pro/-->
</div><!--pro-right/-->
<div class="clears"></div>
</div><!--width1190/-->
</div><!--content/-->
<%--显示页脚--%>
<jsp:include page="../pages/basefoot.jsp"></jsp:include>
</body>
</html>
IUserDao代码
package com.yiju.dao;
import com.yiju.bean.Collect;
import com.yiju.bean.UserAuth;
import com.yiju.bean.UserInfo;
import com.yiju.pojo.CollectView;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface IUserDao {
UserInfo findUserByPhone(String phone);
void singup(@Param("phone") String phone, @Param("password") String password);
void updateUserInfo(UserInfo userInfo);
UserAuth findUserAuthByUserId(int userId);
void postUserAuth(UserAuth userAuth);
void deleteById(int userId);
void updatePS(UserInfo userInfo);
List< CollectView> getCollectViewByUser(int userId);
void addCollect(Collect collect);
Collect findByHouseType(@Param("userId") int userId,@Param("houseId") int houseId);
}