javaweb校园互助悬赏跑腿中介平台SSM网站J2EE

目录

1 效果演示

2 开发环境 

3 功能说明

4 数据结构

4.1管理员表

4.2用户表

4.3信息交换表

5 关键代码

5.1数据库连接配置和连接代码

5.2用户相关代码


1 效果演示

2 开发环境 

开发工具idea或eclipse

数据库MySQL或SQL server

开发框架:SSM Spring+SpringMVC+MyBatis

                  HTML CSS JavaScript     Bootstrap

开发环境:jdk tomcat

3 功能说明

本系统是一个需求平台,需求双方可以在平台上找到自己所需要的东西,也可以将自己的信息进行信息发布。

平台的产生既可以让需求双方方便沟通,又能催进节约,符合节约社会的需要。

采用选用SSM技术为基础,MYSQL作为数据库平台,基于B/S模型的校园互助悬赏跑腿中介平台平台。

系统包含七个功能模块:管理员管理、信息管理、用户信息管理、公告管理、搜索信息、用户信誉度管理、留言信息。

4 数据结构

4.1管理员表

字段名

字段说明

数据类型

字段长度

是否为空

约束类型

ID

管理员编号

Int(4)

4

Not Null

主键

manager

管理员用户名

Varchar(30)

30

Not Null

PWD

管理员密码

Varchar(30)

30

Not Null

4.2用户表

字段名

字段说明

数据类型

字段长度

是否为空

约束类型

ID

用户编号

int(4)

4

Not Null

主键

userName

用户名

Varchar(20)

20

Not Null

trueName

真实名

Varchar(20)

20

Not Null

passWord

密码

Varchar(20)

20

Not Null

city

学校

Varchar(20)

20

address

地址

Varchar(100)

100

Not Null

postcode

邮编

Varchar(6)

6

Not Null

cardNO

证件号码

Varchar(24)

24

Not Null

cardType

证件类型

Varchar(20)

20

Not Null

tel

电话

Varchar(20)

20

Not Null

email

邮箱

Varchar(100)

100

Not Null

score

信誉值

Int(4)

4

4.3信息交换表

字段名

字段说明

数据类型

字段长度

是否为空

约束类型

pmgoodsid

信息交换编号

Int(4)

4

Not Null

主键

goodsname

信息名称

Varchar(200)

200

Not Null

bz

备注

Varchar(200)

200

Not Null

price

价格

Int(4)

4

Not Null

mid

用户编号

Int(4)

4

Not Null

picture

图片

Varchar(50)

50

Not Null

bdj

成交价格

Int(4)

4

Not Null

jssj

参与时间

Varchar(50)

50

Not Null

zt

状态

Int(4)

50

Not Null

typeID

子类编号

Int(4)

4

Not Null

superTypeID

父类编号

Int(4)

4

Not Null

5 关键代码

5.1数据库连接配置和连接代码

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/db_product?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root




jdbc.maxWait=1000
jdbc.initialSize=20
jdbc.maxActive=1000
jdbc.maxIdle=10
jdbc.minIdle=5

spring-mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 开启注解 扫描com.superCode下的所有的对象 -->
    <context:component-scan base-package="com.superCode">
       <context:exclude-filter type="annotation"
           expression="org.springframework.stereotype.Controller" />
    </context:component-scan>
    <!-- 引入jdbc配置文件 -->
    <context:property-placeholder location="classpath:jdbc.properties" />
    <!--创建jdbc数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
       destroy-method="close">
       <property name="driverClassName" value="${jdbc.driver}" />
       <property name="url" value="${jdbc.url}" />
       <property name="username" value="${jdbc.username}" />
       <property name="password" value="${jdbc.password}" />
		<!-- 初始化连接大小 -->
       <property name="initialSize" value="${jdbc.initialSize}" />
		<!-- 连接池最大数量 -->
       <property name="maxActive" value="${jdbc.maxActive}" />
		<!-- 连接池最大空闲 -->
       <property name="maxIdle" value="${jdbc.maxIdle}" />
		<!-- 连接池最小空闲 -->
       <property name="minIdle" value="${jdbc.minIdle}" />
    </bean>
    <!-- 创建SqlSessionFactory,同时指定数据源 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
       <property name="dataSource" ref="dataSource" />
       <property name="configLocation" value="classpath:mybaits-config.xml"></property>
      		<!-- 自动扫描mapping.xml文件 -->
 <property name="mapperLocations" value="classpath:mappers/*.xml" />
       <property name="typeAliasesPackage" value="com.superCode.domain" />
    </bean>
    <!-- 配置SqlSessionTemplate -->
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
       <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <!-- 配置mybatis mapper接口 -->
    <!-- 可以给你的mapper接口生成 代理对象 并且把该代理对象放到IOC容器中  -->
    	<!-- DAO接口所在包名,Spring会自动查找其下的类 -->

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="basePackage" value="com.superCode.mapper" />
       <property name="sqlSessionTemplateBeanName" value="sqlSessionTemplate" />
    </bean>
    <!-- 事务配置 -->
    <bean id="transactionManager"
       class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
       <property name="dataSource" ref="dataSource" />
    </bean>
    <!-- 使用annotation注解方式配置事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
</beans>

5.2用户相关代码

package com.superCode.controller;

import com.superCode.domain.Member;
import com.superCode.domain.Pager;
import com.superCode.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.List;

@Controller
public class MemberController {
    @Autowired
    private MemberService memberService;
    @Autowired
    Pager<Member> pager;

    // 后台添加用户
    @GetMapping("/addMember.do")
    @ResponseBody
    public void addMember(Member member) {
        //memberService.addMember(member);
    }

    // 显示前台登录页面
    @GetMapping("/login.do")
    public String login() {
        return "login";
    }

    @PostMapping("/login.do")
    public String login1() {
        return "login";
    }

    // 后台管理所有用户
    @GetMapping("/memberManager.do")
    public String memberManager(@RequestParam(defaultValue = "1") String pageNumber, HttpServletRequest request) {
        int pn = Integer.parseInt(pageNumber);
        int ps = 10;// 分页大小
        List<Member> members = memberService.memberList((pn - 1) * ps, ps);
        int count = memberService.getCoun();
        pager.setRows(members);// 实体列表
        pager.setTotal(count);// 总数
        pager.setPage(pn);// 当前页

        int pagecount = 1;// 总页数

        // 计算总页数
        if (count % ps == 0) {
            pagecount = count / ps;
        } else {
            pagecount = count / ps + 1;
        }

        pager.setPagecount(pagecount);//

        request.setAttribute("memberList", pager);
        return "admin/MemberManager";
    }

    // 删除用户
    @GetMapping("/deleteMember.do")
    public String deleteMember(@RequestParam String id, HttpServletRequest request, HttpServletResponse response) {
        memberService.deleteMember(id);
        request.setAttribute("path", "memberManager.do");
        return "common/success";
    }

    // 显示个人信息
    @GetMapping("/personal2.do")
    public String personal2(@RequestParam String id, HttpServletRequest request, HttpServletResponse response) {
        Member member = memberService.getMember(id);
        request.setAttribute("cmember", member);
        return "/qiantai/personal";
    }


    @GetMapping("/updatePass.do")
    public String updatePass(@RequestParam String password, HttpServletRequest request) {
        Member cmember = (Member) request.getSession().getAttribute("cmember");
        String id = cmember.getId();
        memberService.updatePass(id, password);
        cmember = memberService.getMember(id);
        request.setAttribute("cmember", cmember);
        return "qiantai/personal";
    }


    //前台修改用户信息
    @PostMapping("/update_member")
    public String updateMember(@RequestParam String id, @RequestParam String truename,@RequestParam String pwd, @RequestParam String city, @RequestParam String address, @RequestParam String weixinhao, @RequestParam String cardNo, @RequestParam String cardtype, @RequestParam String tel, @RequestParam String email, HttpServletRequest request) {
        Member cmember = (Member) request.getSession().getAttribute("cmember");
        String result = "";
       if (StringUtils.isEmpty(truename)) {
            result = "真实姓名为空,不能注册";
            request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(pwd)) {
            result = "密码为空,不能注册";
            request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(city)) {
            result = "city为空,不能注册";
           request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(address)) {
            result = "address为空,不能注册";
            request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(weixinhao)) {
            result = "weixinhao为空,不能注册";
            request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(cardNo)) {
            result = "cardNo为空,不能注册";
            request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(cardtype)) {
            result = "cardtype为空,不能注册";
            request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(tel)) {
            result = "tel为空,不能注册";
            request.setAttribute("errors", result);
        } else if (StringUtils.isEmpty(email)) {
            result = "email为空,不能注册";
            request.setAttribute("errors", result);
        }else{
           request.setAttribute("success", "修改用户信息成功");
       }

        Member member = new Member();
        member.setId(id);
        member.setTruename(truename);
        member.setCity(city);
        member.setAddress(address);
        member.setWeixinhao(weixinhao);
        member.setCardNO(cardNo);
        member.setCardtype(cardtype);
        member.setTel(tel);
        member.setEmail(email);
        member.setPassword(pwd);
        member.setScore(cmember.getScore());
        memberService.updateMemberSave(member);
        member = memberService.getMember(id);
        HttpSession session = request.getSession();
        session.setAttribute("cmember", member);
        session.setAttribute("member", member);
        return "qiantai/member_update";

    }

    //前台注册保存用户信息
    @PostMapping("/save_member")
    public String saveMember(@RequestParam String username, @RequestParam String truename, @RequestParam String pwd, @RequestParam String city, @RequestParam String address, @RequestParam String weixinhao, @RequestParam String cardNo, @RequestParam String cardtype, @RequestParam String tel, @RequestParam String email, HttpServletRequest request) {
        String result = "";
        if (StringUtils.isEmpty(username)) {
            result = "用户名为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(truename)) {
            result = "真实姓名为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(pwd)) {
            result = "密码为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(city)) {
            result = "city为空,不能注册";
            return "qiantai/register";
        } else if (StringUtils.isEmpty(address)) {
            result = "address为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(weixinhao)) {
            result = "weixinhao为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(cardNo)) {
            result = "cardNo为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(cardtype)) {
            result = "cardtype为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(tel)) {
            result = "tel为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        } else if (StringUtils.isEmpty(email)) {
            result = "email为空,不能注册";
            request.setAttribute("errors", result);
            return "qiantai/register";
        }
        int count = memberService.selectMemByCardNo(cardNo);
        if (count > 0) {
            request.setAttribute("errors", "cardNO:" + cardNo + "已经注册");
            return "qiantai/register";
        } else {
            Member member = new Member();
            member.setTruename(truename);
            member.setCity(city);
            member.setAddress(address);
            member.setWeixinhao(weixinhao);
            member.setCardNO(cardNo);
            member.setCardtype(cardtype);
            member.setTel(tel);
            member.setEmail(email);
            member.setUsername(username);
            member.setPassword(pwd);
            member.setFreeze("0");
            member.setScore(500);
            memberService.insertMemer(member);
            return "qiantai/index";

        }


    }


}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ1978519681计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值