Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Javaservlet中生成动态网页_Javascript_Java_Html_Servlets_Web Development Server - Fatal编程技术网

Javascript 在Javaservlet中生成动态网页

Javascript 在Javaservlet中生成动态网页,javascript,java,html,servlets,web-development-server,Javascript,Java,Html,Servlets,Web Development Server,我正在构建一个基于HTML、CSS和JS前端和JavaServlet后端的网站 我面临的问题是,当发送一个网页作为对客户端请求的响应时,该网页并不是完全静态的。我需要根据数据库中的数据修改HTML的某些部分,然后我想通过重定向到该HTML页面或使用HttpRequest对象的getWriter()函数逐行将该网页发送到HTTP响应 对于这两种方法,我都需要处理需要更改的HTML代码的某些部分。我可以想到的一种方法是创建另一个HTML文件,读取HTML的第一个静态部分并将其写入新的HTML。然后处

我正在构建一个基于HTML、CSS和JS前端和JavaServlet后端的网站

我面临的问题是,当发送一个网页作为对客户端请求的响应时,该网页并不是完全静态的。我需要根据数据库中的数据修改HTML的某些部分,然后我想通过重定向到该HTML页面或使用HttpRequest对象的
getWriter()
函数逐行将该网页发送到HTTP响应

对于这两种方法,我都需要处理需要更改的HTML代码的某些部分。我可以想到的一种方法是创建另一个HTML文件,读取HTML的第一个静态部分并将其写入新的HTML。然后处理动态HTML代码并将其写入新的HTML文件。再次读取静态HTML并将其写入新的HTML文件,依此类推

但是通过这种方式,我不知道如何处理JS&CSS文件和其他文件,比如我们希望发送响应的HTML页面正在使用的图像


当您使用JSP时,每个请求在服务器上呈现一次web页面,并作为“静态”HTML文档返回给客户端。如果我理解正确,您希望以某种方式将动态代码“注入”到现有的static.html文件中。这不是不可能的,而是无用的。相反,使用硬编码的“静态”内容生成一个.JSP文件,并使用scriptlet或JSTL标记库呈现“动态”上下文

对评论的反应:

如果要显示动态图像,我现在想到两种方法:

  • 如果您的图像直接以水滴形式存储在数据库中:只需在scriplet中解码图像,并使用base64编码将图像直接渲染到
    img
    src
    属性

  • 如果图像存储在本地服务器根目录(包含.jsp文件的目录)中。您可以像在静态web应用程序中一样直接解决这些问题

  • 您的JSP文件可能如下所示:

        <%
            //between these tags you can write Java code
            //client wont see this code
            Product product = ...; // pull from database somehow
        %>
    
        <!--outside these tags you're writing HTML code-->
        <html>
           ...
           <p><b>Product name:</b> <%=product.getName()%></p>
           <img src="/img/products/image_<%=product.getId()=>.jpg"/>
        </html>
    
    
    ...
    产品名称:

    .jpg“/>
    非常感谢您提供这些信息。请告诉我另外一件事。如果我制作了一个硬核静态JSP页面,那么需要从数据库中包含在页面上的图像呢。例如,如果要显示ID为123的帖子,并且该帖子的数据库中有一些图像,那么我如何在JSP页面上显示该图像修改了我的答案。而谢谢,这很有帮助。