无法在春季mvc

时间:2016-03-10 08:19:30

标签: java spring-mvc video-streaming html5-video http-status-codes

我有两个播放mp4视频的项目

  1. 纯html(静态html文件)
  2. Spring MVC应用程序。 上述两个项目都部署在Tomcat 8中。
  3. 当我使用以下网址访问html项目时:

    http://localhost:8080/videoplayer/index.html
    

    该页面打开并播放mp4视频。此外,我能够向前/向后搜索视频。

    我已将上述index.html页面的相同内容添加到spring mvc jsp中。 当我访问index.jsp时,

    该页面会打开并播放视频。 但是,我无法向前/向后寻求。此外,点击视频搜索栏会从头开始播放视频

    注意:在Spring MVC中,我已将视频添加为资源。

    下面是资源配置:

    @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
                        registry.addResourceHandler("/resources/vids/**").addResourceLocations("/WEB-INF/resources/vids/");
        }
    

    控制器方法:

    以下方法用于提供包含视频的页面:

    @RequestMapping(value = "/play", method = RequestMethod.GET)
        public String playvideo() {
                return "index";
        }
    

    但是,即使我直接点击浏览器中的视频资源网址,我也无法通过视频进行搜索。

    http://localhost:8080/tkh/resources/vids/cars.mp4
    

    当我检查应用程序中的请求和标题时,chrome显示如下:

    1。 HTML项目

    对于html项目,http状态代码为206

    enter image description here

    2。 Spring MVC项目

    对于spring项目,http状态代码为200

    enter image description here

    下面是html / jsp代码

    <!DOCTYPE html>
    
    <html lang="en">
    
    <head>
    
        <meta charset="utf-8">
    
        <title>title</title>
    
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script src="resources/media/mediaelement-and-player.min.js"></script>
        <link rel="stylesheet" href="resources/media/style.css" media="screen">
    
        <style type="text/css">
            html, body { margin: 0; padding: 0; }
            body { background: #f2f2f2 ; padding-top: 265px; }
            .mejs-container { margin: 0 auto; }
        </style>
    <meta name="robots" content="noindex,follow" />
    </head>
    
    <body>
    
        <video width="640" height="267"  controls="controls" autobuffer="true" poster="resources/vids/cars.png">
            <source src="resources/vids/cars.mp4" type="video/mp4">
        </video>
    
        <script>
        $(document).ready(function() {
            $('video, audio').mediaelementplayer();
            $('video').mediaelementplayer({
                alwaysShowControls: true,
                videoVolume: 'horizontal',
                features: ['playpause','progress','volume','fullscreen']
            });
        });
        </script>
    
    </body>
    
    </html>
    

    我理解206状态代码是针对部分内容的。但是为什么spring mvc应用程序发送200状态而不是206?

    我真的不确定为什么具有相同代码的页面会以这种方式运行?

1 个答案:

答案 0 :(得分:0)

最后,我通过升级到Spring 4.2.5解决了搜索问题。