博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1小时轻松上手springmvc,视频网站后台开发
阅读量:5891 次
发布时间:2019-06-19

本文共 4718 字,大约阅读时间需要 15 分钟。

由于最近半年一直在用springboot,但是也不能忘了本,于是把springmvc重新练了下,做了个前端传个表单,后台接收并显示的界面,该项目可以上传视频的URL,然后前端进行页面的播放,项目采用springmvc+spring+mybatis,前端是用jquery.功能很简单,前端一个form表单,提交后台,后台添加数据,并且将数据转发到前端进行显示。后台将entity,service,serviceimpl,controller,全部用marven进行关联,分模块开发。

项目中几个重要知识点:
1.文件上传
2.2张表在不关联的情况下,用inner join连表查询
3.分页查询
4.log日志使用
5.模块之间的联系,思想概述

项目的结构

Image.png

1.文件上传

(一):首先在resources目录下新建springmvc.xml,在里面加入

前端上传文件页面

添加视频资源

视频后台添加视频资源

视频名称:
视频类型:
优酷播放URL:
上传封面:

后台上传文件接口

@RequestMapping("/addVideo")    public String addVideo(@RequestParam(value = "file", required = false) MultipartFile file, VideoInfo videoInfo,            HttpServletRequest req, HttpServletResponse res) {//这里的required=false,意思是不传参也可以        try {            // 获取当前上下文            String path = req.getSession().getServletContext().getRealPath("/static/imgs");            // 文件名称            String newName = System.currentTimeMillis() + ".png";            File targetFile = new File(path, newName);            // 文件夹不存在,则创建文件夹            if (!targetFile.exists()) {                targetFile.mkdirs();            }            // 保存            try {                file.transferTo(targetFile);            } catch (Exception e) {                log.error(e);            }            videoInfo.setVideoUrl(newName);            videoInfoService.addVideoInfo(videoInfo);            req.setAttribute("result", "封面上传成功!");            return "redirect:/videoManag";        } catch (Exception e) {            log.error(e);            req.setAttribute("result", "上传失败!");            return LOCAVIDEO;        }    }

2.关联表的查询

select a.id as id,a.video_name as videoName, a.video_html as videoHtml ,a.video_url as videoUrl, a.video_del as videoDel, b.type_name as typeName from video_info  as a  inner join video_type as b  on a.video_type_id=b.id;

3.分页查询

在resource目录下新建mybatis-config.xml

applicationContext-dao.xml加载mybatis-config.xml

java代码使用

@RequestMapping("/indexVideo")    public String indexVideo(HttpServletRequest request, int pageIndex) {        Page page = PageHelper.startPage(pageIndex, 2);        request.setAttribute("listVideo", videoInfoService.getVoideAll(null));        request.setAttribute("pageSize", page.getPages());        return INDEXVIDEO;    }

前端代码

首页        
${p}
尾页

4.Spring整合log4j

创建log4j.properties,在resources/properties下创建log4j.properties文件

### set log levels ###log4j.rootLogger =INFO,DEBUG, stdout , Rlog4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%nlog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = E://logs/log.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%nlog4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File =E://logs/error.loglog4j.appender.E.Append = truelog4j.appender.E.Threshold = ERRORlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

web.xml加载 log4j.properties

log4jConfigLocation
/WEB-INF/classes/properties/log4j.properties
org.springframework.web.util.Log4jConfigListener

使用API

private static Logger log = Logger.getLogger(TestController.class);

5.模块之间的联系,思想概述

前后端一体的springmvc,我们以前都会搭建在一个项目,这次把entity,dao,service,serviceimpl,controller分成了模块进行开发,每个模块用marven进行关联。这样做的好处就是代码整洁清晰,每个层面都是个小的项目,适合分模块进行开发。

演示效果(一)

image.png

演示效果(二)

image.png

演示效果(三)

image.png

密码是sfze

关注我的公众号,都是满满的干货!

孙坚.gif

转载地址:http://zzbsx.baihongyu.com/

你可能感兴趣的文章
产品经理工具之软件篇
查看>>
IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型
查看>>
oracle全文索引的创建和使用
查看>>
屏幕惊魂
查看>>
红黑树结构
查看>>
PHP AES256加密算法
查看>>
hdu2024
查看>>
linux根目录下的文件夹详解
查看>>
我的友情链接
查看>>
windows7、windows 2008和windows 2008 R2 的系统封装介绍
查看>>
html移动Web开发----优化浏览器视口宽度设置
查看>>
第三博、Android第三方开发工具之微信分享初体验(一)、注册与应用创建
查看>>
内核审计系统的实用程序
查看>>
Hadoop示例程序之——WordCount
查看>>
MySQL server has gone away的解决方案
查看>>
再谈Java数据结构—分析底层实现与应用注意事项
查看>>
redis教程(二)之VMvare安装
查看>>
WinAPI: OffsetRect - 移动矩形
查看>>
centos6.4下安装cacti-0.8.8.b
查看>>
用wget下载整个网站
查看>>