租房 收藏

文件夹设置

在这里插入图片描述

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:;">价格 &or;</a>
                <a href="javascript:;">最新 &or;</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}&currentPage=${pageInfo.firstPage}"
                               aria-label="Previous">首页</a></li>
                        <li>
                            <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${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}&currentPage=${pageNum}">${pageNum}</a>
                            </li>
                        </c:forEach>
                        <li>
                            <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${pageInfo.pageNum + 1}">下一页</a>
                        </li>
                        <li>
                            <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${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);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
后台采用apache服务器下的cgi处理c语言做微信小程序后台逻辑的脚本映射。PC端的服务器和客户端都是基于c语言写的。采用mysql数据库进行用户数据和聊天记录的存储。.zip C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值