美文网首页产品
SSM SpringBoot vue限房摇号系统

SSM SpringBoot vue限房摇号系统

作者: beyond阿亮 | 来源:发表于2022-09-10 09:59 被阅读0次

    SSM SpringBoot vue限房摇号系统

    SSM限房摇号系统功能介绍

    首页 房源信息 我的收藏 登录注册 个人中心

    后台管理 登录注册 个人中心 户型信息管理 面积信息管理 地段信息管理
    房企信息管理 房源信息管理 用户管理 轮候序号管理 房源申购管理
    我的摇号管理 我的收藏管理 管理员管理

    使用技术

    • SSM(Spring + SpringMVC + Mybaits)或SpringBoot框架

    • Mysql数据库

    • vue后台管理

    功能展示

    首页.jpg 登录.jpg 注册.jpg 房源信息.jpg 个人中心.jpg 轮候序号管理.jpg 房企信息管理.jpg 我的摇号管理.jpg 用户管理.jpg

    FileController文件上传下载

    package com.controller;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.commons.io.IOUtils;
    import org.apache.commons.lang3.StringUtils;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.MultipartFile;
    
    import com.annotation.IgnoreAuth;
    import com.baomidou.mybatisplus.mapper.EntityWrapper;
    import com.entity.ConfigEntity;
    import com.entity.EIException;
    import com.service.ConfigService;
    import com.utils.R;
    
    /**
     * 上传文件映射表
     */
    @RestController
    @RequestMapping("file")
    @SuppressWarnings({"unchecked","rawtypes"})
    public class FileController{
        @Autowired
        private ConfigService configService;
        /**
         * 上传文件
         */
        @RequestMapping("/upload")
        public R upload(@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception {
            if (file.isEmpty()) {
                throw new EIException("上传文件不能为空");
            }
            String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
            String fileName = new Date().getTime()+"."+fileExt;
            File dest = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
            file.transferTo(dest);
            if(StringUtils.isNotBlank(type) && type.equals("1")) {
                ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
                if(configEntity==null) {
                    configEntity = new ConfigEntity();
                    configEntity.setName("faceFile");
                    configEntity.setValue(fileName);
                } else {
                    configEntity.setValue(fileName);
                }
                configService.insertOrUpdate(configEntity);
            }
            return R.ok().put("file", fileName);
        }
        
        /**
         * 下载文件
         */
        @IgnoreAuth
        @RequestMapping("/download")
        public void download(@RequestParam String fileName, HttpServletRequest request, HttpServletResponse response) {
            try {
                File file = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
                if (file.exists()) {
                    response.reset();
                    response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName+"\"");
                    response.setHeader("Cache-Control", "no-cache");
                    response.setHeader("Access-Control-Allow-Credentials", "true");
                    response.setContentType("application/octet-stream; charset=UTF-8");
                    IOUtils.write(FileUtils.readFileToByteArray(file), response.getOutputStream());
                }
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
    }
    

    spring-mvc.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:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
        <mvc:default-servlet-handler/>
    
        <!-- Controller包(自动注入) -->
        <context:component-scan base-package="com.controller"/>
    
        <!-- FastJson注入 -->
        <mvc:annotation-driven>
            <!-- <mvc:message-converters register-defaults="true">
                避免IE执行AJAX时,返回JSON出现下载文件
                FastJson
                <bean id="fastJsonHttpMessageConverter"
                      class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            这里顺序不能反,一定先写text/html,不然ie下出现下载提示
                            <value>text/html;charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                    <property name="features">
                        <array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
                            避免循环引用
                            <value>DisableCircularReferenceDetect</value>
                            是否输出值为null的字段
                            <value>WriteMapNullValue</value>
                            数值字段如果为null,输出为0,而非null
                            <value>WriteNullNumberAsZero</value>
                            字符类型字段如果为null,输出为"",而非null 
                            <value>WriteNullStringAsEmpty</value>
                            List字段如果为null,输出为[],而非null
                            <value>WriteNullListAsEmpty</value>
                            Boolean字段如果为null,输出为false,而非null
                            <value>WriteNullBooleanAsFalse</value>
                        </array>
                    </property>
                </bean>
            </mvc:message-converters> -->
        </mvc:annotation-driven>
        <!-- 静态资源配置 -->
        <mvc:resources mapping="/resources/**" location="/resources/"/>
        <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/pages/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
        
        <!-- 拦截器配置 -->
        <mvc:interceptors>
            <mvc:interceptor>
                <mvc:mapping path="/**"/>
                <mvc:exclude-mapping path="/upload"/>
                <bean class="com.interceptor.AuthorizationInterceptor"/>
            </mvc:interceptor>
        </mvc:interceptors>
    
        <!-- 上传限制 -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- 上传文件大小限制为31M,31*1024*1024 -->
            <property name="maxUploadSize" value="32505856"/>
        </bean>
    
    </beans>
    

    运行

    创建数据库, 然后修改数据库连接相关信息。

    配置tomcat运行

    前台访问地址:http://localhost:8080/ssm/front/index.html

    后台访问地址:http://localhost:8080/ssm/admin/dist/index.html

    管理员账号:liang 密码:liang

    相关文章

      网友评论

        本文标题:SSM SpringBoot vue限房摇号系统

        本文链接:https://www.haomeiwen.com/subject/ysktortx.html