JSP / HTML:从mySQL数据库中嵌入youtube视频链接

时间:2017-04-29 22:51:08

标签: jsp video youtube

(提示:我刚刚开始使用JSP几乎没有参考,所以不幸的是我将HTML代码与JSP段混合在一起,所以我很欣赏一些理解,直到我掌握了这个主题)< / p>

我一直在为这个以及其他几乎过时的网站搜索关于我的问题的一个晚上(尽管hereherehere人抓住了它的表面。

我的mySQL数据库上有一个名为“video”的表格,其中youtube链接将由他们的上传者从“学生”表中存储。

我想将其上载的每个视频嵌入到jsp页面的数据库中,所以我认为它可以像嵌入图片一样简单。

随机youtube嵌入代码:

<iframe width="640" height="360" src="https://www.youtube.com/embed/tvTRZJ-4EyI" frameborder="0" allowfullscreen></iframe>

这是我到目前为止的地方(我的代码片段):

<%@ page import ="java.sql.*" %>

<%  
    Class.forName("com.mysql.jdbc.Driver");

    int am=Integer.parseInt(request.getParameter("armht"));

        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/final","xxxx", "xxxx");  

            Statement st = con.createStatement();
                ResultSet studentvideos;
                    studentvideos=st.executeQuery("select video.videolink "
                                + "from video, student "
                                + "where video.studno=student.studno "
                                + "and student.studno='" +am+ "' "
                                );                       
%> 

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Random JSP page</title>
    </head>
    <body>
        <center>
<%  
            out.println("<b>Videos: </b><p>");

            while (studentvideos.next()) 
            {  
            %>
                <iframe width="640" height="360" src="+studentvideos.getString(1)+" frameborder="0" allowfullscreen></iframe>";
            <%
            }
            out.println("<br>" + "<br>");
%>    
        </center>
    </body>
</html>

<%
            st.close();
        con.close();  
%>

结果是:

enter image description here

问题当然是“<iframe width="640" height="360" src="+studentvideos.getString(1)+" frameborder="0" allowfullscreen></iframe>";”行,似乎我可以:

i)做了一个愚蠢的语法错误,或者

ii)尝试了一些在不完全改变我的糟糕但有点简单的代码的情况下无法做到的事情。

Here是一种解决方法,而不是视频播放器,只有一个图像指向与视频的链接,我可能最终使用此方法。

但是,我仍然想知道如何(以及是否)可以将数据库中的视频链接嵌入到jsp页面中。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

如果您的所有其他代码都正确,那么正如您所期望的那样只需要更新以下代码。

<%  
        out.println("<b>Videos: </b><p>");

        while (studentvideos.next()) 
        {  
        %>
            <iframe width="640" height="360" src="<%=studentvideos.getString(1)%>" frameborder="0" allowfullscreen></iframe>
        <%
        }
        out.println("<br>" + "<br>");
%> 

答案 1 :(得分:0)

因此,将YouTube视频嵌入页面的代码是:

<iframe width="640" height="360" src="https://www.youtube.com/embed/9Ht7ILp_DLY" frameborder="0" allowfullscreen></iframe>

但是,YouTube视频的链接是:

https://www.youtube.com/watch?v=9Ht7ILp_DLY

上面的链接与嵌入代码中的链接存在差异:

https://www.youtube.com/embed/9Ht7ILp_DLY

我所要做的就是有一个触发器,它会将youtube链接转换为嵌入友好链接:

create trigger embedthevideo
before insert on video
for each row
SET NEW.videolink = REPLACE(NEW.videolink, "https://www.youtube.com/watch?v=", "https://www.youtube.com/embed/");

在jsp页面Ketan的宝贵帮助下:

<%  
        out.println("<b>Videos: </b><p>");

        while (studentvideos.next()) 
        {  
        %>
           <iframe width="640" height="360" src="<%=studentvideos.getString(1)%>" frameborder="0" allowfullscreen></iframe>
        <%
        }
        out.println("<br>" + "<br>");
%> 

它就像一个魅力: enter image description here

答案 2 :(得分:0)

JSP / HTML:嵌入没有mySQL数据库的youtube视频链接

用于生成嵌入的YouTube代码的另一种解决方案

步骤

  1. 复制youtube视频网址。
  2. 粘贴网址here

现在,您已经 Youtube嵌入代码将此代码粘贴到要在屏幕上显示的位置。 谢谢:)